UAR:通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter)
引腳:2根RXD:接收數據
TXD:發送數據
數據格式:
起始位
數據位(5/6/7/8)
奇偶校驗位(不常用)
停止位
數據速率:
波特率:~、9600、115200、~
IIC:集成電路總線(Inter-Integrated Circuit)
引腳:2根SDA:數據收發
SCL:同步時鐘信號
開始信號:
SCL爲高的情況下SDA下降沿信號
停止信號:
SCL爲高的情況下SDA上升沿信號
數據信號:
在SCL爲低時進行電平轉變,SCL爲高時數據必須保持穩定
應答信號:
主機發送完數據後拉高SDA,從機必須在SCL爲低時將SDA拉低,並且在SCL爲高時保持穩定
從機尋址:
發送數據前的第一個字節爲控制字節,其中7位爲器件地址,理論上可以尋址2^7個器件
數據收發:
控制字節的最後一位爲讀寫位,1爲讀,0爲寫
數據速率:
標準模式(100Kbps)
快速模式(400Kbps)
數據傳輸:
無論讀還是寫,主設備都必須先發一個控制字節,
然後再發一個讀或寫的數據地址,
最後才往從設備讀取或寫入數據,
每發送一個字節都必須等待應答。
SPI:串行外設接口(Serial Peripheral Interface)
引腳:4根MOSI:主機發送數據、從機接收數據
MISO:主機結束數據、從機發送數據
SCK:同步時鐘信號
CS:片選信號
時鐘極性:
0:初始電平爲低電平
1:初始電平爲高電平
時鐘相位:
0:第一個邊沿採集數據
1:第二個邊沿採集數據
數據速率:
與同步時鐘速率有關
從設備數:
當有多個設備時必須給每個設備提供使能信號。且同一時間內只能有一個從設備被使能。
所以最好使用譯碼器對從設備編址,這樣保證不會同時選中兩個設備造成信號衝突。
對比:
UART是異步串行通信,IIC和SPI是同步串行通信
UART和SPI都可以實現全雙工通信,IIC只能實現半雙工通信