USART串口通信
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)
通用同步/异步串行接收/发送器
一.通讯的相关概念
串口通讯一般都是异步通讯
同步通讯:通讯时双向输出接收信息,每传输一次数据都对应时钟控制。因此同步通讯时需要Stm32给外界一个时钟用于同步收发。异步通讯时,只用到RX、TX,先把数据打包成帧,TX开始数据传输时,是读取到启动位,启动位后紧跟数据帧(8位或者9位,由USART_CR1的M位(位12,控制字长 )来控制,置0—8bit,置1—9bit)。数据的后端有停止位(一定是高电平),由USART_CR2的Stop的两个位来控制(如图)。还可能有奇偶校验位。
奇偶校验位由USART_CR1的PCE位进行奇偶校验使能,PS位奇偶校验选择,PEIE奇偶校验错误中断(校验时发现问题,进行相应中断)。状态寄存器USART_SR 的PE位(奇偶校验错误)
1-串行与并行通讯
并行(例如FSMC总线),串行特点:
并行就是同一时间多个位一起传输,串行是一个个传输。
2-全双工、半双工和单工
全双工:可同时收发数据
半双工:不可同时收发数据,可分时收发数据
单工:任何时刻都只能往某一个固定方向传输数据
3-同步与异步通讯&