调用打印接口可以用:
代码语言:javascript复制#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
接口将这些固件信息打印出来。