第1个回答 2022-07-15
Arduino为我们提供了三种主要的通信协议。这些协议使传感器,显示模块,其他计算机和科学仪器等设备能够与Arduino进行通信和交换数据。
以下是从最慢到最快的通信协议:
这三种通信方式都是采用了数字串行通信协议。
UART速度很慢,I2C更快,但不如SPI快。SPI的数据传输速率大约是其 两倍 。
I2C是链接多个设备的三种协议中最简单的一种。I2C支持多个主机和从机。它支持多达127个设备,且不会引入极端的复杂性。另一方面,由于每个设备都需要一条选择信号线,因此SPI会超出两个设备的会占用更多的端口。UART只能处理两个设备。
I2C是唯一可以确保实际接收到发送到从设备的数据的通信协议。
I2C仅使用两条线。UART使用两根线,但是速度很慢。SPI需要四根线。
I2C是众所周知的并且被广泛使用。I2C有一个正式的标准,而SPI没有。
I2C的实现比SPI通信协议便宜。
I2C的噪声低于SPI。
I2C可以比SPI传输更远的数据。SPI实际上仅限于短距离通信。