×
单片机 > 单片机程序设计 > 详情

STM32 Usart 上电发送一个无效字符的问题

发布时间:2020-08-25 发布时间:
|

无论这么设置USart,上电后都会发送一个无效字符,这个是STATUS寄存器的上电初始值有问题造成的,Usart的发送数据寄存器有一个缓冲移位寄存器。并且发送有两个状态,一个是发送数据寄存器为空,一个是移位寄存器发送完成。上电后Usart的状态寄存器的发送完成位为0,造成了上电以后会始终会有一个值被发送,这个值就是发送移位寄存器中的值,而这个值有时候是0X00有时候是0XFE 。


要解决这个问题,在初始化的时候先初始化Usart,然后再配置Usart的GPIO位,就可以避免Usart上电发送一个无效字符的问题。


还有一种可能性,在上电后至端口初始化,STM32的I/O端口处于高阻状态,有些RS232转换芯片在输入端为高阻时,可能会输出0,从而造成接收端收到0,我们已经多次看到这种现象;这时只需要在STM32的TX端加一个上拉电阻就可以解决。

一般这种问题使用示波器可以很容易地检测出来。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM基础知识八