STM32 中 UART 和 USART 的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32 中 UART 和 USART 的区别相关的知识,希望对你有一定的参考价值。

参考技术A UART: Universal asynchronous receiver-transmitter
通用异步收发器

USART: Universal synchronous and asynchronous receiver-transmitter
通用同步/异步收发器

UART与USART的区别

USART:通用同步和异步收发器
UART:通用异步收发器
当进行异步通信时,这两者是没有区别的。区别在于USART比UART多了同步通信功能。
这个同步通信功能可以把USART当做SPI来用,比如用USART来驱动SPI设备。
 

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

同步是阻塞模式,异步是非阻塞模式。

其中SPI IIC为同步通信  UART为异步通信, usart为同步&异步通信。

 

 

单工、半双工、全双工 
单工数据传输只支持数据在一个方向上传输;
半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信;
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
I2C是半双工,SPI的全双工,uart是全双工。

以上是关于STM32 中 UART 和 USART 的区别的主要内容,如果未能解决你的问题,请参考以下文章

stm32 usart有啥功能

STM32之usart

STM32 uart发送数据,查询 USART_FLAG_TC 正常。但使用 USART_FLAG_TXE 会乱码。

STM32学习系列之USART/UART

stm32板的usart2设置与usart1有啥区别啊

STM32串口发送接收数据