STM32F103VCT6串口1测试出现的问题,困扰我两天了

2019-07-14 18:46发布

请问一下STM32F10X单片机串口1调试,波特率设置115200就正常,9600就不正常,第一行会出现乱码,而且我测试了所有的波特率,从低于14400开始(包括14400)第一行就会出现乱码,是什么原因啊?(用的是正点原子的串口测试代码,不过烧录的是自己设计的板子) 波特率是9600时候不正常 波特率是115200时候正常
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
laidaihua
2019-07-16 16:21
程序架构有问题,当波特率低了以后,由于串口中断处理中的延时太长,会导致有接收到的数据来不及处理,因为中文字符是两字节的,掉了一个字节就会显示为乱码。。
一般建议不要在串口中断里面做接收判断和处理。在中断里面直接进行协议解析和处理是个非常笨拙的编程方法,可靠性非常差,CPU的利用率也非常低。现在除了业余新手,专业程序猿是不会这么写程序的。。

一周热门 更多>