IIC SPI UART通信方式的區別
1.定義上的區別
IIC :Inter-Integrated Circuit 兩線式串行總線
SPI : serial peripheral interface 串行外圍設備接口
UART : Universal Asynchronous Receiver/Transmitter 通用異步收發傳輸器
通信速率 SPI > IIC > UART
SPI : 串行時鐘(SCLK)、主機輸入從機輸出(MISO)、主機輸出從機輸入(MOSI)兩條合一的數據線,1個CS(設備片選線)
串行,同步,全雙工
IIC:串行時鐘(SCLK)、數據信號線(SDA:serial data),1個CS(設備片選線)
串行,同步,半雙工
UART: TX/RX(為什麽後綴有個X,為了好讀,好寫 ,參考 https://www.zhihu.com/question/36993913) GND
串行,異步,全雙工
並行通信用於內部存儲間的通信,比如flash
2.怎麽形象的理解異步和同步的區別?
參考 http://www.cnblogs.com/nufangrensheng/p/3651952.html
異步就像是寫信,有數據就去發送,然後對方接受,不用在意時間上的配合,發送完可以去幹別的事情
同步就像是打電話,必須同時在線
3.IIC和SPI的通信過程有什麽區別?
(1)一個是片選的方式
SPI用片選信號選擇從機
IIC用地址選擇從機,把從地址發送出去,去尋找相同目標地址的從設備,軟件方式,效率比SPI低
(2)發送的過程
SPI,無應答方式,在同步信號下快讀的把數據發送到目標,不在乎目標是否正確的收到數據
IIC,每發送一個數據,必須等待從機的響應,如果從機不響應,則數據是發送不了的
4.起始標誌,結束標誌不同
參考:http://blog.csdn.net/stardhb/article/details/45132621
5.傳輸的位數不同
UART一幀可以傳5/6/7/8位,IIC必須是8位,IIC和SPI都從最高位開始傳
IIC SPI UART通信方式的區別