UART,I2C和SPI – Arduino的通信接口

Arduino

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实际上仅限于短距离通信。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容