注释
编辑包含文件 motion_control.c void mc_dwell(uint32_t 毫秒) /* 长延迟函数 */ 我想,探测:-/ |
看看我的 grbl 叉子。我有效地拿起了火炬,因为 Simen 一直在忙于其他事情。许多挥之不去的错误已得到修复,并且对 v0.7 进行了改进,现在是大师状态。 仅供参考,带有运行时命令(减速进给、恢复、重置、慢跑(待定))的新 v0.8 版本将于今晚晚些时候发布。这是一个 alpha 版本。 |
我刚刚检查了你的叉子,但它似乎有同样的问题。我仔细研究了一下,似乎是由于 avr-libc 发生了变化。从 v1.7.1 开始,无法将变量与延迟函数一起使用。显然你不应该在以前的版本中这样做,但现在由于延迟实现方式的变化而被强制执行。 |
|
很高兴知道!我没有遇到这个问题,因为我几乎只使用 Arduino 软件附带的 avrdude 编译器。听起来它仍然支持延迟中的变量。当我有时间时,我会尝试修复。 |
我在 Master 和 Edge 的最新版本中遇到了完全相同的问题。 avr-gcc -Wall -Os -DF_CPU=16000000 -mmcu=atmega328p -I. -ffunction-sections -c motion_control.c -o motion_control.o |
谢谢!看起来我在为 _delay_ms() 修复它时错过了 _delay_us() 调用。我将在今天晚些时候发布修复程序。如果您想立即修复它,请查看 nut_bolts.c 并重复与 _delay_ms() 相同的过程。 |
谢谢,修好了。为了完整起见,我在 limits.c 中将其更改为: 我将这个函数添加到 nuts_bolts.h 中: |
很高兴听到。抱歉,我在陈述时没有发布修复程序。我一直在为其他事情分心。当我最终推出下一个优势时,我将确保使用此修复程序更新主分支。 |
我正在尝试编译 grbl(使用 avr-gcc 4.5.3 和 avr-libc 1.7.1)但是当我尝试从存储库制作文件时,我总是会收到此错误。它发生在每个版本的 grbl 上。
avr-gcc -Wall -Os -DF_CPU=16000000 -mmcu=atmega328p -I. -ffunction-sections -c motion_control.c -o motion_control.o
在 motion_control.c:26:0 包含的文件中:
/usr/lib/gcc/avr/4.5.3 /../../../avr/ include/util/delay.h:在函数“mc_dwell”中:
/usr/lib/gcc/avr/4.5.3/../../../avr/include/util/delay.h:153:28:错误:__builtin_avr_delay_cycles 需要一个整数常量。
make: *** [motion_control.o] 错误 1
有什么建议么?