UART和USART总结
生活随笔
收集整理的這篇文章主要介紹了
UART和USART总结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
UART和USART的區(qū)別
同步和異步
同步是指:發(fā)送方發(fā)出數(shù)據(jù)后,等接收方發(fā)回響應(yīng)以后才發(fā)下一個數(shù)據(jù)包的通訊方式。
異步是指:發(fā)送方發(fā)出數(shù)據(jù)后,不等接收方發(fā)回響應(yīng),接著發(fā)送下個數(shù)據(jù)包的通訊方式。
UART與USART都是單片機上的串口通信,他們之間的區(qū)別如下:
首先從名字上看:
UART:universal asynchronous receiver and transmitter通用異步收/發(fā)器
USART:universal synchronous asynchronous receiver and transmitter通用同步/異步收/發(fā)器
從名字上可以看出,USART在UART基礎(chǔ)上增加了同步功能,即USART是UART的增強型,事實也確實是這樣。但是具體增強到了什么地方呢?
其實當(dāng)我們使用USART在異步通信的時候,它與UART沒有什么區(qū)別,但是用在同步通信的時候,區(qū)別就很明顯了:大家都知道同步通信需要時鐘來觸發(fā)數(shù)據(jù)傳輸,也就是說USART相對UART的區(qū)別之一就是能提供主動時鐘。
USART:通用同步和異步收發(fā)器
UART:通用異步收發(fā)器
當(dāng)進行異步通信時,這兩者是沒有區(qū)別的。區(qū)別在于USART比UART多了同步通信功能。
這個同步通信功能可以把USART當(dāng)做SPI來用,比如用USART來驅(qū)動SPI設(shè)備。
同步是阻塞模式,異步是非阻塞模式。
其中SPI IIC為同步通信 UART為異步通信, usart為同步&異步通信。
單工、半雙工、全雙工
單工數(shù)據(jù)傳輸只支持?jǐn)?shù)據(jù)在一個方向上傳輸;
半雙工數(shù)據(jù)傳輸允許數(shù)據(jù)在兩個方向上傳輸,但是,在某一時刻,只允許數(shù)據(jù)在一個方向上傳輸,它實際上是一種切換方向的單工通信;
全雙工數(shù)據(jù)通信允許數(shù)據(jù)同時在兩個方向上傳輸,因此,全雙工通信是兩個單工通信方式的結(jié)合,它要求發(fā)送設(shè)備和接收設(shè)備都有獨立的接收和發(fā)送能力。
I2C是半雙工,SPI的全雙工,uart是全雙工。
總結(jié)
以上是生活随笔為你收集整理的UART和USART总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天是你的生日原唱是谁 今天是你的生日歌
- 下一篇: Python中的这几种报错你遇到过吗?