I2C,485,232,spi区别以半双工,全双工

第一,从硬件上讲,传输数据时的电气特性不同,比如逻辑1和0对应的电平状态;时序不同。

第二,因为硬件的原因导致他们的传输距离不同。485可以长达1500米,i2c和spi也就局限于板级的距离,几十厘米吧。232也就1米多。

第三,传输速度不同,232和485的波特率最高的也就115.2K,再高的也有却不常用。i2c和spi的可以达到几十M,因为距离很短的嘛。

双工:比如有两个设备进行连接通信,A和B。如果任何时间数据只能单向传输,从A到B,那么就是单工;如果一个时间可以从A到B,然后下一时间从B到A,但是不能同时双向就是半双工;如果同一时间可以双向同是发送数据,就是全双工。

RS485、I2C和SPI不一样。

RS485、I2C通讯协议中包含从机的地址,从机都不主动发送数据,主机发送数据,数据包中包含有从机地址,主机发送的数据,所有从机都接收,主机发送完后,转为接收状态。从机接收到数据包后,检测地址与自己的地址一致,就做应答发送数据。地址不一致,就不处理。所以RS485、I2C总线中的从机地址不能重复。

SPI是通过片选信号实现选择从机,没有被选择的从机,是不结收数据的。

RS485常见 2 线 半双工

RS485标准 里 有 四线 全双工

RS232是3线全双工


接口是全双工还是半双工关键看它有几根线,双工至少收发各一条线


猜你喜欢

转载自blog.csdn.net/wordwarwordwar/article/details/80178525