STM32之USART
欢迎转载,转载请注明原作者
1.USART介绍
USART英文全称是Universal Synchronous/Asynchronous Receiver/Transmitter,即通用同步/异步串行收发器,是一个全双工(相互独立的接收数据与发送数据)的通用同步/异步串行收发模块,STM32中一般较为常用的为异步通讯模式,即UART模式
1.UART硬件连接
UART(异步通讯模式)一般通过三个管脚其他设备连接在一起:接收数据输入(Rx),发送数据输出(Tx),信号地(GND)。
2.UART数据格式
异步串行数据格式一般为:起始位+数据位+停止位,其中起始位为1bit,数据位为5,6,7或8bit,停止位为1,1.5或2bit;
起始位是值为0的位,停止位是值为1的位,数据位发送时是从LSB到MSB依次发送的,另外还有奇偶校验位和空闲位,奇偶校验位放置在数据位的最后,用来校验数据位的数据是否误码,空闲位是值为1的位,表明当前线路没有数据传输
3.UART工作原理1
发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧数据发送结束。
接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。