您好!
在 AM3358技术参考手册的21.3-8节中、该注释指出当 SCL 一直处于低电平时、支持总线清零操作。
由于 I2C 状态寄存器中没有指示 SCL 或 SDA 卡在低电平状态的状态位、那么如何唤醒这个总线清零操作?
此外、I2C 状态寄存器没有用于 I2C 事务超时事件的位、那么如何监控超时?
谢谢、
Peng、
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好,Nick、
此 OMAP-i2c_wait_for_bb()无法处理一个读取事务中间的忙状态。
我们观察到:CPU AM3358发出设置 了写入位的从器件(电池充电器)地址,并设置要读回的寄存器地址。 I2C 从设备对 CPU 进行肯定的确认,但随后将 SCL 拉至低电平的时间超过40ms (超过35mS 的 SMBus 超时时间),然后释放 ICL 信号。 CPU 继续之前的读-在读取位被置位时发出从地址、而不是重新开始传输- --在写入位被置位时发出从地址、发送要读取的地址、在读取位被置位时发出从地址、读取内容。
那么 、在一个事务的中间是否有任何修补程序或代码句柄、例如 SMBus 超时?
谢谢、