开源改变世界!!

如何让外部按钮工作 #275

推推 grbl 2年前 (2023-01-29) 75次浏览
关闭
mac7988 开了这个issue 2019 年 11 月 1 日 · 23条评论
关闭

如何让外部按钮工作#275

mac7988 开了这个issue 2019 年 11 月 1 日 · 23条评论

注释

如何让外部按钮工作 #275

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

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

如何让外部按钮工作 #275
豪门571 评论了 2019 年 11 月 1 日 通过电子邮件
如何让外部按钮工作 #275
作者
mac7988 评论了 2019 年 11 月 1 日  

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

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

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

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

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

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

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

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

你有引体向上吗?

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

检查 config.h 中的 IGNORE

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

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

如何让外部按钮工作 #275

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

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

如何让外部按钮工作 #275

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

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

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

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

上拉电阻?

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

无上拉电阻

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

我只有一个 esp32 和一个连接到引脚 36 的杜邦跳线,你触摸电缆它会吓坏(这已经发生在多个 esp32 上

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

试过了,我什至在多个 esp32 上也尝试过将 pin 22 作为循环开始。你认为我对图书馆陈旧或损坏有意见吗?

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

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

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

奇怪的是我没有连接任何东西。

如何让外部按钮工作 #275

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

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

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

我想我发现了一个问题……

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

在 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中修改第一张图,增加一个reset按钮。这是最简单的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
如何让外部按钮工作 #275
作者

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

如何让外部按钮工作 #275

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

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

如何让外部按钮工作 #275

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

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

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

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