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。此时有回应信号。