检查波特率和数据大小端(单字节数据就无需检查)是否一致,显示方式和发送方式是否一致(十六进制或字符串),否则就是程序BUG。
可能是中断优先级的问题,你可以在外部中断里面设置一个标志,然后在主程序里查询标志发送数据,可以试一试
stm32使用串口发送数据有时候多了空格,发送的数据量少。在打开串口调试软件之前,数据就已经发送完毕了,当然看不到,打开串口调试软件之后,按一下芯片的复位键,这时就可以看到发送过来的数据了。
先用串口助手,抓一下上位机发出的内容,确认发送端是否正常。
再检查你下位机接收端的串口接收程序,是不是有长度限制,是不是有特殊转码之类的。
可以 仿真 吗?
建议 去 我的领地 5d6d 的 proteus 论坛看看
那里有很多 单片机仿真实例,包括仿真图 和 源码
搜 5d6d 和 proteus 2个关键词
本文标签:stm32串口发送数据不完全