stm32利用串口debug的方法

针对该款stm32芯片(stm32f107vct6)没有软件仿真库的问题,设计了新的调试方式,即通过串口打印文件名、函数名、行号等信息方便代码调试。

在工程中新建一个debug.h文件,写入以下代码


#ifndef __DEBUG__H_

#define __DEBUG__H_

#include

#define DEBUG

#ifdef DEBUG

#define debug(fmt, ...) printf("%s %s

%s %s %d:"fmt, __FILE__, __FUNCTION__, __DATE__, __TIME__, __LINE__,

##__VA_ARGS__)

#else

#define debug(fmt, ...)

#endif

#endif


在需要用到debug调试的.c文件中包含debug.h

用法为需要调试时debug(“你要打印的信息”);程序会将你要打印的信息和行号函数名,文件名等信息一同打印的串口1。当然串口1必须是经过重定向的,具体重定向的方法可以百度。

如果不需要打印调试信息,直接将DEBUG的宏定义注释掉即可。


没加打印信息时程序运行结果:


没加打印信息时

加上打印信息后,程序运行结果:


加上打印信息后
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,029评论 0 38
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,736评论 0 3
  • 今天看到讨论法老这一块。抛去文化啥的不说,人类是不是自己作类,专门创造一个人来管管自己,包吃包住供着养着。也确实是...
    Super_亭小亭阅读 225评论 0 0
  • 饭后的趣事 今天下午,我和我的妹妹吃完饭后发生了一系列有趣的事。 吃完饭后,我和我的妹妹想去超市里购物。...
    夏煜萱阅读 711评论 2 3
  • 那一低头的娇羞惊艳了花一般季节 轻轻地一个转身即留下几多谜面 翘首扬眉可曾憧憬过幸福的花蕾 花瀑下的静思与妙龄和青春无关
    南屯游子阅读 403评论 0 1