通用同步异步收发器是一个串行通信设备,可以灵活的与外部设备进行全双工数据交换。有别与USART,还有一个UART,它在USART基础上裁剪掉了同步通信功能,只有异步通信。简单区分同步和异步就是看通信时需不需要对外提供时钟输出,我们平时用的串口通信基本都是 UART。串口通信一般是以帧格式传输数据,即一帧一帧传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。
同步通信:带时钟同步信号传输。 --SPI,IIC通信接口
异步通信:不带时钟同步信号。 --UART(通用异步收发器),单总线
STM32异步通信帧格式如下:
- 起始位
- 数据位(8位或者9位)9位是带奇偶校验位
- 奇偶校验位(第10位)奇检验就是保证8位数据位中1的个数为基数个,如果1是基数个则检验位就为0,反之为1;偶检验就是保证8位数据位中1的个数为偶数个,如果1是偶数个则检验位就为0,反之为1;
- 停止位(11位)
STM32 串口数据收发: