串口通讯UART和USART
串口可分为
- UART : Universal Asynchronous Receiver/Transmitter 通用异步收发器
- USART : Universal Synchronous Asynchronous Receiver/Transmitter 通用同步/异步收发器
那异步接收器和同步接收器有什么区别呢?
-
首先我们需要清楚,无论是UART还是USART都可以进行双工通信,
那我们先来区分 单工、半双工、全双工
-
单工数据传输只支持数据在一个方向上传输;
-
半双工数据传输允许数据在两个方向上传输,但是在某一时刻,只允许数据在一个方向上传输,它实际上是 一种切换方向的单工通信;
-
全双工数据通信允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。
I2C是半双工,SPI的全双工,uart是全双工
-
- 其次同步和异步有什么区别呢?
- 同步接收器:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式,可以理解为发送的时候同时必须进行接收 如:SPI,USART
- 异步接收器:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式 如:UART