评论
我这样直接在源代码里修改程序对你的grblhal哲学来说似乎有点粗鲁 |
好吧,我不是专业程序员,我下载了mcodes.c和mcodes.h,
编译下载后,输入m999,M999 < error:20 |
您不能通过在映射文件中定义辅助输入/输出并使用 M62-M65 命令来使用标准方法吗? 如果您有电路板映射文件,添加电路板特定代码的正确方法是创建与电路板映射同名的 ac 文件,并将#define HAS_BOARD_INIT添加到映射文件。在 c 文件中检查板名称定义,并将初始化函数命名为board_init()。 必须在三个地方检查额外的 M 代码,首先告诉解析器它们可用,然后在验证和声明参数(如果有)时,最后在执行相关代码时。 如果 M 代码不是您的代码,则调用原始函数(通过保存的指针)很重要 – 这样其他插件代码也可以添加 M 代码。 |
|
嗨,f401 上有很多引脚,看起来有点浪费,所以我要添加一些自定义 M 代码来切换 io 引脚,
我知道你有一个用于添加自定义 M 代码的示例程序,但它看起来对我来说有点复杂,
所以我直接在 grblhal 源代码中更改它,
我在 gcode.c 中的 status_code_t gc_execute_block(char *block) 在函数中
添加了我的简单代码
:
case 70:
//
休息;
案例 71:
//
休息;
很好,他可以正确运行,但是HAL_GPIO_WritePin()一grblhal接收到这段代码就运行了,我不知道在哪里添加它让grblhal在实际执行m70代码后运行HAL_GPIO_WritePin()