读取IT8563WE时,读取第一次正确,第二次错误,第三次正确,第四次错误。。。。。。 看到读取成功之后,SDA信号没有被正确拉高,电平大概只有一半。 * s w, y! n7 e, ~9 M2 \5 A& K 再次读取,主机设置读模式时,从机会发送NACK,会将电平拉高。这样第三次读取时,SDA和SCL数据信号线都是高电平。 0 A+ z5 ]* K+ K4 J4 W+ G注意:当第一次读取完毕,SDA没有被完全拉高是,直接将VCC接入SDA脚,SDA仍然不能恢复电平最高,应该是IT8563WE的问题。 临时解决办法: # S2 p+ g* X7 J$ b3 _" o( p. b) a& q 读取成功后,再次读取,在主机设置读模式时,从机会发送NACK,会将电平拉高 & s6 R# x4 x& j9 }; I g7 S/ n2 ~- l) \5 Q* q3 ` 过一段时间再次修改找到根本原因 读取最后一个字节应该是NACk的回包 原来代码 * D' ~/ Q/ H' K+ L/ u. H( ]" q2 |修改之后 读过程 波形图,发送NACK后,再发送STOP,电平恢复高电平 . ?0 J: b- k- G% S$ \; h( L4 S |