QWE4562012 发表于 2020-12-16 12:10 这个写地址和写数据;读地址和读数据;单片机是如何识别的呢 |
1714461639 发表于 2020-12-15 10:16 启动电平不应该在数据前面吗 时序来说 |
1714461639 发表于 2020-12-15 10:16 SCL高电平的时候看SDA的电平状态? |
|
这是最普通的I2C时序,如果你不需要设计I2C模块,只是单纯应用,只需要读懂几个最关键的信息,包括:VIL, VIH,即能被器件识别的逻辑低电平最大值以及能被器件识别的逻辑高电平最小值。 另外就是看你图片中下面部分的时序图。那三个时序图告诉你不同的信息:第一图是告诉你当SCL为高时,SDA由高变低会被识别为通信的起始信号;而正常通信时,SDA只允许在SCL为低时变化;如果SCL为高时,SDA由低变高,则会被识别为通信结束信号。第二图是告诉你,I2C通信是数据大端传送的,也就是数据是最高位最先传送,另外告诉你传送8位数据之后,会有一个ACK的信号,来判断通信是否正常。一般来说ACK是由slave把数据线拉低,如果ACK信号为高,说明slave压根没响应。 更多的I2C知识,你可以看飞利浦的I2C datasheet。 |
| 看时序图就用跟线从左往右卡着看,在竖直一条线方向上都是同事发生的, |
csmyldl 发表于 2020-12-11 22:59 感觉好复杂 tsu不是在中间的位置才出现吗 |