成长笔记——多串口发送与接收
在移植别人用标准库开发的串口时发生错误,下面是详细错误点和解决办法。
1.头文件条件编译重复的问题
图片中,main.c引用的Serial2.h中已经定义了 Serial2_Init();和Serial2_Printf()两个函数,但仍然提示找不到定义。
最后发现原因是如下图所示头文件条件编译导致Serial2.h文件未展开,所以报错。
修改后错误消失:
2.串口初始化错误导致发送数据时阻塞
配置GPIO时钟时发生下面错误导致发送数据寄存器空标志位无法置空,发送数据阻塞
改正后异常恢复: