1个回答
2013-06-21
展开全部
串口通信就是232,只有两根线txd和rxd,双方必须设定相同的波特率,传输距离比较近。 I2C号称是最简单的串行通讯协议,只需要一根数据线一根时钟线就可以完成半双工通讯。一根是双向的数据线SDA,另一根是时钟线SCL。I2C协议:
1.谁主动发起数据请求(读/写)谁就是主机。
2.主机提供时钟。
3.SCL为高电平时,SDA从高到低跳变表示起始条件,从低到高跳变表示结束条件。数据传输过程中SDA表示的数据的跳变只能发生在SCL为低电平的时候。
4.主机发送起始条件后,发送的第一个字节是从机地址(7bit)+读写指示(1bit),从机在SDA上产生1bit的ACK。
5.第一个字节的传输至此结束。以后的字节传输也是发送方发送一个8bit数据,接收方发一个1bit的ACK。至于是主机发送数据还是从机发送就看读写指示位。
6.数据传输结束后主机发送停止条件。
7.主机发送停止条件之前,如果主机是接收方需要回应,则主机发NACK。为什么不是ACK,这个还需要再想想。
1.谁主动发起数据请求(读/写)谁就是主机。
2.主机提供时钟。
3.SCL为高电平时,SDA从高到低跳变表示起始条件,从低到高跳变表示结束条件。数据传输过程中SDA表示的数据的跳变只能发生在SCL为低电平的时候。
4.主机发送起始条件后,发送的第一个字节是从机地址(7bit)+读写指示(1bit),从机在SDA上产生1bit的ACK。
5.第一个字节的传输至此结束。以后的字节传输也是发送方发送一个8bit数据,接收方发一个1bit的ACK。至于是主机发送数据还是从机发送就看读写指示位。
6.数据传输结束后主机发送停止条件。
7.主机发送停止条件之前,如果主机是接收方需要回应,则主机发NACK。为什么不是ACK,这个还需要再想想。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询