注释
贡献者
请记住,以 20MHz 的频率运行不在受支持的构建范围内。如果您提供您的 Grbl $$ 设置、$I 构建信息以及您已更改的任何其他 config.h,这将有所帮助。 |
在 20Mhz 上运行时,您必须启用 4.5V BOR,否则任何电压降都会导致 CPU 行为不稳定。除此之外,至少 0.9j 可以在 20Mhz 上完美运行。2018-10-23 17:19 GMT+02:00,Sonny Jeon <notifications@github.com>:
|
数据是如何发送的? |
作者
@chamnit我使用的是 GIT 的最新版本,具有以下构建设置/参数: [选择:HL,15,128] $0=10 |
作者
@cri-s谢谢,我会检查保险丝!不幸的是,电路板运行在相当稳定的电源上,所以我担心这不是原因:-o |
我正在运行 ArduinoNano,其中 GRBL 在 2..20 分钟后崩溃。它与我发送的数据无关,所以无论我移动什么形状,无论我使用什么 GUI,问题总是可重现的。当崩溃发生时,我收到了很多毫无意义的数据,但 GRBL 除了硬重置外没有任何反应。
这就是我用的
没有电机或其他任何东西连接到我的 Arduino,所以没有可能导致这种情况的电气干扰
未使用 USB,我直接通过 D1/TX 和 D0/RX 引脚与 ATMega 通信
串行通信是用 57600 而不是 115200 完成的(但将传输速率更改为其他任何内容都不会影响问题)
使用 20 MHz 晶体而不是 16 MHz(F_CPU 当然设置为 20000000 而不是 16000000 并且通常 UART 通信正常工作 – 至少在 GRBL 死之前)
我已经尝试了不同的补丁和修改,完全禁用 EEPROM 访问或将 UART 传输从基于中断的操作更改为轮询模式,但这些修改都没有对问题产生影响。
我还尝试了不同的编译器(ArduinoIDE/Linux、avr-gcc/Linux、WINAVR),但这也没有改变任何东西。
所以我的问题是:可能是什么问题?除了设置 F_CPU 值之外,在 20 MHz 上运行时我还需要做任何其他事情吗?它是如何发生的,问题不会重现,但只会在一些(不同的)时间之后发生?
欢迎任何帮助和想法!