开源改变世界!!

如何让外部按钮工作

推推 grbl 2年前 (2022-06-12) 491次浏览 0个评论

我有外部按钮连接并映射到引脚或循环启动、进给保持和重置。

似乎行不通。我确定在配置中做错了什么。我所做的只是分配我的引脚和 CPU 映射。我还需要做其他事情吗?下面是我的 1 个按钮的接线图。
如何让外部按钮工作

如何让外部按钮工作
如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 1 日  

是的你是对的。简单一点也不好玩。哈哈开玩笑。我有很多噪音问题,所以我过于谨慎。

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 1 日

有没有人测试过外部按钮?我试图简单地连接 gpio 和 GND 之间的按钮,但仍然没有(WTF)。

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 1 日

我一直在使用它们。他们在看书吗?命令?

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 1 日

不,我什么也得不到。我使用引脚 33 进行循环启动,34 用于进给保持,35 用于复位。就像我说的那样,我什至使用了一个连接到 33 和 gnd 的按钮,但仍然没有。有点困惑。

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 1 日

你有引体向上吗?

如何让外部按钮工作
所有者

婚戒 评论 on 1 Nov 2019

检查 config.h 中的 IGNORE

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 1 日

我检查了你所说的关于 UGS 中的命令的内容,它没有显示任何内容。我在 arduino IDE 串行中做了同样的事情,它应该按下一个 pin x。

如何让外部按钮工作

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 1 日

好的,忽略被激活禁用它现在不管我按下什么所有按钮都通过控制引脚重置。

如何让外部按钮工作

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

我尝试了多个引脚,但仍然遇到重置问题。我正式迷路了。我什至尝试了不同的 esp23 板,结果相同。我还尝试了不同的计算机、不同的电缆,甚至 OTG。

下面的测试是在没有连接 esp23 板的情况下完成的,并且一根跨接电缆连接到引脚 36。我无法想象其他人没有这个问题。
如何让外部按钮工作

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 4 日

上拉电阻?

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

没有上拉电阻

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

我只有一个 esp32 和一个连接到 36 针的杜邦跳线,你触摸它吓坏了的电缆(这发生在多个 esp32

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

试过了,我什至在多个 esp32 上尝试了 pin 22 作为循环启动。您认为我对图书馆陈旧或损坏有疑问吗?

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 4 日

你的症状就像一个浮动输入。我认为你的问题是电气

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

奇怪的是我什么都没有。

如何让外部按钮工作

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 4 日

我现在正在测试。不挂断。我可能会看到一个问题。

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 4 日

我想我发现了一个问题…

由于某种原因,内部上拉最近被关闭了

在 system.cpp 中更改 system.ini()
pinMode(..INPUT_PULLUP);

#ifdef CONTROL_SAFETY_DOOR_PIN
	pinMode(CONTROL_SAFETY_DOOR_PIN, INPUT_PULLUP);
	attachInterrupt(digitalPinToInterrupt(CONTROL_SAFETY_DOOR_PIN), isr_control_inputs, CHANGE);
#endif
#ifdef CONTROL_RESET_PIN
	pinMode(CONTROL_RESET_PIN, INPUT_PULLUP);
	attachInterrupt(digitalPinToInterrupt(CONTROL_RESET_PIN), isr_control_inputs, CHANGE);
#endif
#ifdef CONTROL_FEED_HOLD_PIN
	pinMode(CONTROL_FEED_HOLD_PIN, INPUT_PULLUP);
	attachInterrupt(digitalPinToInterrupt(CONTROL_FEED_HOLD_PIN), isr_control_inputs, CHANGE);
#endif
#ifdef CONTROL_CYCLE_START_PIN
	pinMode(CONTROL_CYCLE_START_PIN, INPUT_PULLUP);
	attachInterrupt(digitalPinToInterrupt(CONTROL_CYCLE_START_PIN), isr_control_inputs, CHANGE);
#endif

在 config.h 中启用开启控制开关去抖动。

#define ENABLE_CONTROL_SW_DEBOUNCE

在 cpu_map.h 中修改第一个地图以添加重置按钮。这是最简单的 cpu_map。我在这里使用 21,但也试试你的别针。如果在 34 到 39 范围内,请使用外部上拉。
请务必在 config.h 中使用此映射

#ifdef CPU_MAP_TEST_DRIVE
	
	#define CPU_MAP_NAME "CPU_MAP_DEFAULT - Demo Only No I/O!"	
	
	// the following items currently need to be defined, but no i/o needs to be mapped
	// fixing soon
	
	#define CONTROL_RESET_PIN         GPIO_NUM_21 
	
	#define LIMIT_MASK 0  // no limit pins		
#endif
如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

我测试了新代码,发现它没有崩溃,但无论我按下哪个按钮,我现在唯一得到的就是下面。它只是重置

如何让外部按钮工作

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

我什至三重检查我的接线,见下文。我什至在光耦合器之前绕过了,只是在 gnd 和 pullup 之间使用了一个跳线。不走运:(仍然通过控制引脚复位。
如何让外部按钮工作

如何让外部按钮工作

如何让外部按钮工作
所有者

婚戒 评论 2019 年 11 月 4 日

你用的是什么cpu掩码?请在此处粘贴 cpu 映射。只是你的一部分,而不是整个文件。

如何让外部按钮工作
作者

mac7988 评论 2019 年 11 月 4 日

我想我让它工作了,我们的拉力没有连接。

如何让外部按钮工作
喜欢 (0)

您必须 登录 才能发表评论!