调用打印接口可以用:
#define SERIAL_ECHOLNPGM(str) Serial.println(F(str)) #define SERIAL_ECHOPGM(str) Serial.print(F(str)) #define SERIAL_ECHO_MSG(str) Serial.println(str) #define SERIAL_ECHOLNPAIR(str,val) \ do{ Serial.print(F(str)); Serial.println(val); }while(0) #define SERIAL_ECHOPAIR(str,val) \ do{ Serial.print(F(str)); Serial.print(val);}while(0)
如何使用?以Marlin2.0
的setup()
函数里,有对应的使用方法:
#if defined(STRING_DISTRIBUTION_DATE) && defined(STRING_CONFIG_H_AUTHOR) SERIAL_ECHO_MSG( " Last Updated: " STRING_DISTRIBUTION_DATE " | Author: " STRING_CONFIG_H_AUTHOR ); #endif SERIAL_ECHO_MSG("Compiled: " __DATE__);
其中STRING_DISTRIBUTION_DATE
是一个宏,它在Marlin/src/inc/Version.h
这个文件中被定义, 原型如下:
/** * The STRING_DISTRIBUTION_DATE represents when the binary file was built, * here we define this default string as the date where the latest release * version was tagged. */ #ifndef STRING_DISTRIBUTION_DATE #define STRING_DISTRIBUTION_DATE "2021-04-29" #endif
它可以用来指定当前固件被修改的日期。 STRING_CONFIG_H_AUTHOR
也是一个宏,它在Marlin/Configuration.h
这个文件中被定义,原型如 下:
// Author info of this build printed to the host during boot and M115 #define STRING_CONFIG_H_AUTHOR "(Yangyuanxin For AC firmware)" // Who made the changes.
它可用来指定当前固件的修改者,意思就是如果定义了以上的宏,那么就调用SERIAL_ECHO_MSG
接口将这些固件信息打印出来。
往期精彩
让野火F103开发板支持Marlin2.0固件是什么体验?3D打印主控板成员+1