Arduino為我們提供了三種主要的通信協(xié)議。這些協(xié)議使傳感器竹宋,顯示模塊劳澄,其他計算機(jī)和科學(xué)儀器等設(shè)備能夠與Arduino進(jìn)行通信和交換數(shù)據(jù)。
以下是從最慢到最快的通信協(xié)議:
-
UART = 通用異步接收器/發(fā)送器
-
I2C = 集成電路間
-
SPI = 串行外設(shè)接口
這三種通信方式都是采用了數(shù)字串行通信協(xié)議蜈七。
UART秒拔,I2C和SPI比較
速度
UART速度很慢,I2C更快飒硅,但不如SPI快溯警。SPI的數(shù)據(jù)傳輸速率大約是其兩倍。
設(shè)備數(shù)量
I2C是鏈接多個設(shè)備的三種協(xié)議中最簡單的一種狡相。I2C支持多個主機(jī)和從機(jī)梯轻。它支持多達(dá)127個設(shè)備,且不會引入極端的復(fù)雜性尽棕。另一方面喳挑,由于每個設(shè)備都需要一條選擇信號線,因此SPI會超出兩個設(shè)備的會占用更多的端口滔悉。UART只能處理兩個設(shè)備伊诵。
傳輸確認(rèn)
I2C是唯一可以確保實(shí)際接收到發(fā)送到從設(shè)備的數(shù)據(jù)的通信協(xié)議。
線數(shù)
I2C僅使用兩條線回官。UART使用兩根線曹宴,但是速度很慢。SPI需要四根線歉提。
人氣度
I2C是眾所周知的并且被廣泛使用笛坦。I2C有一個正式的標(biāo)準(zhǔn)区转,而SPI沒有。
價格
I2C的實(shí)現(xiàn)比SPI通信協(xié)議便宜版扩。
噪音
I2C的噪聲低于SPI废离。
距離
I2C可以比SPI傳輸更遠(yuǎn)的數(shù)據(jù)。SPI實(shí)際上僅限于短距離通信礁芦。