串口通訊UART和USART
串口可分爲
- UART : Universal Asynchronous Receiver/Transmitter 通用異步收發器
- USART : Universal Synchronous Asynchronous Receiver/Transmitter 通用同步/異步收發器
那異步接收器和同步接收器有什麼區別呢?
-
首先我們需要清楚,無論是UART還是USART都可以進行雙工通信,
那我們先來區分 單工、半雙工、全雙工
-
單工數據傳輸只支持數據在一個方向上傳輸;
-
半雙工數據傳輸允許數據在兩個方向上傳輸,但是在某一時刻,只允許數據在一個方向上傳輸,它實際上是 一種切換方向的單工通信;
-
全雙工數據通信允許數據同時在兩個方向上傳輸,因此,全雙工通信是兩個單工通信方式的結合,它要求發送設備和接收設備都有獨立的接收和發送能力。
I2C是半雙工,SPI的全雙工,uart是全雙工
-
- 其次同步和異步有什麼區別呢?
- 同步接收器:發送方發出數據後,等接收方發回響應以後才發下一個數據包的通訊方式,可以理解爲發送的時候同時必須進行接收 如:SPI,USART
- 異步接收器:發送方發出數據後,不等接收方發回響應,接着發送下個數據包的通訊方式 如:UART