I2C电平半高问题详解
摘要:
半高电平出现的原因是主机与从机进行了争抢,如果是开漏状态下争抢只会造成电平为低而不是半高(一低俱低),因此“半高”的罪魁祸首是推挽模式输出的强高电平,即使从机拉也拉不下去,导致了半高电平的出现。因此,如果要使用推挽模拟IIC输出,就不能在SDA输出高电平,高电平也需要依靠外部上拉电阻。
而争抢出现的原因是由于读的时候,从机发送完一个字节并没有收到主机的NACK信号,即应答位为低,由于是ACK信号,IIC时序要求从机继续发送,而该从设备因为程序或是寄存器原因,继续发送的数据为全0,导致主机也无法拉高SDA。所以主机应当在读完数据后给出正确的非应答信号以拿回SDA的控制权 阅读全文
![I2C电平半高问题详解](https://img2024.cnblogs.com/blog/3332128/202501/3332128-20250121094136492-917077666.png)
posted @ 2025-01-21 09:43 千叶の堕天聖黑猫 阅读(58) 评论(0) 推荐(0) 编辑