![](https://img.haomeiwen.com/i2200560/3850ab086758fb01.png)
Arduino为我们提供了三种主要的通信协议。这些协议使传感器,显示模块,其他计算机和科学仪器等设备能够与Arduino进行通信和交换数据。
以下是从最慢到最快的通信协议:
-
UART = 通用异步接收器/发送器
UART
-
I2C = 集成电路间
I2C
-
SPI = 串行外设接口
SPI
这三种通信方式都是采用了数字串行通信协议。
UART,I2C和SPI比较
速度
UART速度很慢,I2C更快,但不如SPI快。SPI的数据传输速率大约是其两倍。
设备数量
I2C是链接多个设备的三种协议中最简单的一种。I2C支持多个主机和从机。它支持多达127个设备,且不会引入极端的复杂性。另一方面,由于每个设备都需要一条选择信号线,因此SPI会超出两个设备的会占用更多的端口。UART只能处理两个设备。
传输确认
I2C是唯一可以确保实际接收到发送到从设备的数据的通信协议。
线数
I2C仅使用两条线。UART使用两根线,但是速度很慢。SPI需要四根线。
人气度
I2C是众所周知的并且被广泛使用。I2C有一个正式的标准,而SPI没有。
价格
I2C的实现比SPI通信协议便宜。
噪音
I2C的噪声低于SPI。
距离
I2C可以比SPI传输更远的数据。SPI实际上仅限于短距离通信。
网友评论