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

Posted Engineer-Bruce_Yang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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设计中的应用(值得收藏并实践的精华帖)

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

以上是关于3D打印Marlin2.0固件源代码分析之如何使用LOG接口调试代码的主要内容,如果未能解决你的问题,请参考以下文章

3D打印Marlin2.0固件源代码分析之参数存储方式实现

3D打印Marlin2.0固件源代码分析之参数存储方式实现

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

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

如何打造属于自己的3D打印机上位机?这篇文章带你了解一下!

带你了解一下!