Contact me: hankecnc@gmail.com

gen6电子元件上的编译错误 #28

推推 grbl 3年前 (2023-01-25) 287次浏览

 关闭

gen6电子元件上的编译错误#28

佐岛山 打开此问题 on Dec 7, 2011 ·5条评论

评论

gen6电子元件上的编译错误 #28

给定
#定义主板5 (根据评论)
以及
董事会-> 桑吉诺在Arduino软件工具菜单中选择
生成生成错误:

马林.cpp:在函数“void进程命令()”中:马林:642错误:未在此范围中声明“sprintf”

有问题的代码段

case 30: //M30 take time since the start of the SD print or an M109 command
    {
      stoptime=millis();
      char time[30];
      unsigned long t=(stoptime-starttime)/1000;
      int sec,min;
      min=t/60;
      sec=t%60;
      sprintf(time,"%i min, %i sec",min,sec);
      SERIAL_ECHO_START;
      SERIAL_ECHOLN(time);
      LCD_MESSAGE(time);
    }
    break;

对我来说,快速修复是注释掉sprintf()调用,因为我没有LCD。

适用于修订版本 埃里克·扎姆 小行星5535

gen6电子元件上的编译错误 #28
贡献者

这不仅是做的东西液晶显示器,但也为串行。Sprintf通常在#include<stdio. h>中定义,这应该是一个适当的修复。
会尽快尝试。您使用的是哪个arduino环境?

gen6电子元件上的编译错误 #28
作者

阿尔杜伊诺0022

是的,显而易见的解决办法奏效了。
在marlin.cpp顶部附近添加了上述#include<stdio.h>,取消了对调用的注释,构建时没有问题。

(我确实有一些C/AVR的经验,只是在匆忙中试图使3d打印机工作,并添加额外的stdlib包含可能会搞砸项目,即通过吹二进制比MCU的闪存大等。

谢谢你的回复。

gen6电子元件上的编译错误 #28
贡献者

你好,

将Sanguino目录从马林复制到adrduino目录。我们更新了sanguino的文件。
(See Marlin_v1自述文件)

gen6电子元件上的编译错误 #28
贡献者

现在应该没问题了,尤其是stio. h不在marlin. h之后

思想家 参考的 本期 在thinkyhead/马林 on Dec 3, 2016

伊尔科尔特塞 推送提交 到lcortese/马林安德熊 引用了 本期 on Aug 2, 2020

gen6电子元件上的编译错误 #28
吉图亚行动 机器人 评论的 on Apr 24, 2022

此问题已自动锁定,因为在关闭后没有任何近期活动。请为相关错误打开一个新问题。

gen6电子元件上的编译错误 #28 吉图亚行动 机器人 锁定和限制与协作者的对话 on Apr 24, 2022
喜欢 (0)