开源改变世界

在 GRBL 中将引脚设置为高电平 #151

推推 grbl 2年前 (2023-02-08) 213次浏览
关闭
Henrikastro 打开了这个问题 2022 年 6 月 17 日 · 4条评论
关闭

在 GRBL 中将引脚设置为高电平#151

Henrikastro 打开了这个问题 2022 年 6 月 17 日 · 4条评论

评论

在 GRBL 中将引脚设置为高电平 #151
亨利卡斯特罗 评论了 2022 年 6 月 17 日  

所以,我正在尝试向我正在使用的发送器添加一个按钮,以便它触发我的电路板中的继电器并将引脚的电平更改为高电平。我一直在通过向 Grbl 发送类似“/F”的内容并在收到该字符串时在 protocol.c 中执行 DigitalWrite 来执行此操作。

现在我正在过渡到 GrblHAL 并且我一直在尝试以相同的方式进行操作,但是对于 hal,我没有直接接触引脚来做到这一点。我尝试使用 hal 结构来完成它,我认为它的端口变量将是我的答案,但每当我执行 hal.port.digital_out(21, true) 时,它都会给我带来大师冥想错误,所以我相信那不是我应该走的路。

如果有人可以帮助我解决问题或阐明更好的方法,我将不胜感激。

在 GRBL 中将引脚设置为高电平 #151
贡献者

如果驱动程序/板支持辅助输出,您可以使用M62-M65 -如果没有可用的辅助输出(并导致崩溃),则无需调用hal.port.digital_out()可能是空指针。检查$pins命令输出,如果是这样,它将包含如下条目:

[PIN:PB15,Aux out 0,P0]
[PIN:PB2,Aux out 1,P1]
[PIN:PA6,Aux out 2,P2]
[PIN:PA5,Aux out 3,P3]
...

请注意,用于与引脚交互的 id(P 或端口号)与MCU 引脚号不同

如果没有可用的辅助输出,您可以在有空闲引脚的情况下将它们添加到电路板图中。

在 GRBL 中将引脚设置为高电平 #151

我使用的是 ESP32,我相信它应该支持 M62-M65,但是在尝试运行它时出现错误 20,我应该在使用它之前在某个地方启用它吗?无论如何,我认为辅助输出是我在这种情况下让它工作的方式,谢谢!

在 GRBL 中将引脚设置为高电平 #151
贡献者

我现在看到没有板图定义了辅助输出。添加
#define AUXOUTPUT0_PIN 21(或者你想要的密码,如果不是 21)
到你使用的那个可能会工作……

在 GRBL 中将引脚设置为高电平 #151

#define HAS_IOPORTS和添加#define AUXOUTPUT0_PIN 21到我的地图后,我可以使用hal.port.digital_out(0, true),然后我可以控制图钉状态。太感谢了!