发布时间:2020-10-05 23:23 原文链接: 嵌入式硬件通信接口协议UART:快速使用串口及应用3

2.   ANSI C标准中有几个标准预定义宏:

__LINE__:源代码中的行号(字符串形式)

__FILE__:当前*.c源码文件的文件名(字符串形式)

__DATE__:编译日期(字符串形式)

__TIME__:编译时间(字符串形式)

__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;

__cplusplus:当编写C++程序时该标识符被定义。

有了上一步实现printf函数的重定向到串口后,基本就可以完美使用串口进行调试程序。

调试过程中可利用ANSIC标准中的内置宏,比如__LINE__可以很方便跟踪代码执行到哪一行。

四、调试-输入

串口的接收,有轮询、中断、DMA等方式。

轮询方式,特点是消耗芯片资源,否则容易丢数据;

中断方式,特点是响应快、资源占用低;

DMA方式,各个芯片的配置不同而无法每款芯片都有该功能,所以代码兼容性可移植性较差。

一般地,对输入的数据进行分析判断时,如果是轮询的方式,则直接在收到后即判断;中断和DMA方式,都可以考虑存到buffer后再分析处理。