在STM32里,USART负责进行串口通信。STM32可以通过串口和其他设备进行传输并行数据,是全双工、异步时钟控制,设备之间进行的是点对点的数据传输。对应的STM32引脚分别是RX(接收端)和TX(发送端)。STM32的USART串口资源有USART1、USART2、USART3。
串口有以下几个几个重要的参数:
1、波特率,串口通信的速率。
2、空闲,即没有信号传输的时候的电平位,一般为高电平。
3、起始位,标志一个数据帧的开始,固定为低电平。当数据开始发送时,产生一个下降沿。(空闲位为高电平,当条约到起始位的低电平,会产生一个下降沿触发信号)
4、数据位,发送数据帧,1为高电平,0为低电平。低位先行。
比如 发送数据帧0x0F 在数据帧里就是低位线性 即 1111 0000
5、校验位,用于数据验证,根据数据位的计算得来。有奇校验,偶校验和无校验。
如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。同理偶校验的过程和奇校验的过程一样,只是检测数据中“1”的个数为偶数。
如0100101偶校验码就是10100101,当实际数据中“1”的个数为偶数的时候,这个校验位就是“0”,否则这个校验位就是“1”,这样就可以保证传送数据满足偶校验的要求。

6、停止位,用于数据的间隔,固定为高电平。数据帧发送完成后,产生一个上升沿。(从数据传输的起始低电位变为空闲的高电位,产生一个上升沿触发信号)
下方就是一个字节数据的传输过程,从图中可以看出,串口发送的数据一般都是以数据帧的形式进行传输,每个数据帧

最低0.47元/天 解锁文章
1064

被折叠的 条评论
为什么被折叠?



