3D打印Marlin2.0固件源代码分析之如何使用LOG接口调试代码

击上方“嵌入式云IOT技术圈”,选择“置顶/星标公众号

干货福利,第一时间送达!


调用打印接口可以用:

#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.0setup()函数里,有对应的使用方法:

#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接口将这些固件信息打印出来。

往期精彩

开源Marlin2.x源代码架构学习笔记

步进电机驱动在3D打印应用的学习笔记(一)

光固化3D打印悬空和支撑讲解

3D打印过程与最近的学习成果

两个最常用的3D打印机切片软件

3D打印机marlin固件框架与GCode命令总结

3D打印机Marlin固件串口功能解析和程序移植

让野火F103开发板支持Marlin2.0固件是什么体验?3D打印主控板成员+1

C语言映射表在嵌入式串口解析、UI设计中的应用(值得收藏并实践的精华帖)

觉得本次分享的文章对您有帮助,随手点[在看]并转发分享,也是对我的支持。

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值