网站怎么推广软文,刷赞网站空间,给期货交易类做网站违法吗,外贸新手入门必读SPI、I2C、UART三种串行总线协议的区别 宗旨#xff1a;技术的学习是有限的#xff0c;分享的精神是无限的。 第一个区别当然是名字#xff1a; SPI(Serial Peripheral Interface#xff1a;串行外设接口); I2C(INTER IC BUS#xff1a;意为IC之间总线) UART(… SPI、I2C、UART三种串行总线协议的区别 宗旨技术的学习是有限的分享的精神是无限的。 第一个区别当然是名字 SPI(Serial Peripheral Interface串行外设接口); I2C(INTER IC BUS意为IC之间总线) UART(Universal Asynchronous Receiver Transmitter通用异步收发器) 第二区别在电气信号线上 SPI总线由三条信号线组成串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供SPI串行时钟的SPI设备为SPI主机或主设备(Master)其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信当有多个从设备时还可以增加一条从设备选择线。 如果用通用IO口模拟SPI总线必须要有一个输出口(SDO)一个输入口(SDI)另一个口则视实现的设备类型而定如果要实现主从设备则需输入输出口若只实现主设备则需输出口即可若只实现从设备则只需输入口即可。 I2C总线是双向、两线(SCL、SDA)、串行、多主控multi-master接口标准具有总线仲裁机制非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中传输数据时都会带上目的设备的设备地址因此可以实现设备组网。 如果用通用IO口模拟I2C总线并实现双向传输则需一个输入输出口(SDA)另外还需一个输出口(SCL)。注I2C资料了解得比较少这里的描述可能很不完备 UART总线是异步串口因此一般比前两种同步串口的结构要复杂很多一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成硬件上由两根线一根用于发送一根用于接收。 显然如果用通用IO口模拟UART总线则需一个输入口一个输出口。 第三从第二点明显可以看出SPI和UART可以实现全双工但I2C不行 第四看看牛人们的意见吧 wudanyuI2C线更少我觉得比UART、SPI更为强大但是技术上也更加麻烦些因为I2C需要有双向IO的支持而且使用上拉电阻我觉得抗干扰能力较弱一般用于同一板卡上芯片之间的通信较少用于远距离通信。SPI实现要简单一些UART需要固定的波特率就是说两位数据的间隔要相等而SPI则无所谓因为它是有时钟的协议。 quickmouseI2C的速度比SPI慢一点协议比SPI复杂一点但是连线也比标准的SPI要少。