本帖最后由 feelhyq 于 2017-6-20 14:29 编辑
在I2C总线处于工作状态时,CLK在空闲的时候拉低(防止产生结束信号),SDA在空闲的时候释放总线(OD开漏被上拉电阻拉高,I2C属于线与逻辑)。从第二张图来看,发完0x0E后,也就是在第8个时钟完成后,SDA释放了(被上拉电阻拉高),等待应答信号,而主机应答ACK会将SDA拉低,可以看到第8个时钟下降沿后有个很窄的脉冲,也就是这么来的,SDA信号被主机拉低后,在第9个时钟(应答时钟)到来时,此时SDA维持低电平,说明主机确实应答了。主机应答完后会将SDA释放(被拉高),也就出现了第九个时钟后的另外一个高电平。但是从实际波形图上看,SDA表现出来的并不是一个高电平,而是SDA释放(被上拉电阻拉高)后,立刻被拉低了(通常如果主机也是硬件I2C控制的话不会出现这种情况)。
|