IIC协议介绍:
I2C总线进行数据传送时,SCL为高电平期间,SDA必须保持稳定。只有SCL为低时,SDA才允许变化
start信号是在SCL=1时,SDA由高变低。
stop信号是在SCL=1时,SDA由低变高。

tWR max为20ms
因此我们应该延时最小20ms,以保证数据写入e2prom
没回应ACK的原因:
1. 在发送完8个数据后,setSDAMode为输出,又输出了一位。
接着才setSDAMode为输入,立马就读取SDA的信号。
2. SDA 管脚没有上拉
应该是发完8bit后,首先设置SDA为输入,同时延时6us。此时有回应信号。
本文介绍了I2C总线的数据传输规则,包括start信号和stop信号的定义,并讨论了确保数据正确写入e2prom所需的延时参数tWR max。此外,还分析了可能造成ACK回应缺失的原因及解决方案。
727

被折叠的 条评论
为什么被折叠?



