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.
主机串行器使用UB947,在947 IIC 读取948 数据时,947 第一帧 IIC数据在 948 IIC 接口能够看到,但是947在传输第二帧数据给948时,948 IIC接口隔了很长时间才看到,在948接口出现第二帧数据前,947因为等待超时 947 IIC总线拉高了,947 因此没有收到后面948的ACK,所以通信出现了异常。请问这是什么原因导致的 947 到 948 这种偶发的数据延迟?有什么办法解决?
您好,我想和您确认下,I2C的程序是不是参考了其他I2C 程序? 因为即使接收端948很长时间才收到数据,但是根据I2的协议,发送端应该会继续工作,一直发送数据的。但是SMbus是不一样的,首先它对timeout有时间要求,其次无论是在主控端或从机端,其频率处于Lo电平时的最长持续时间不得超越限制。 I2C的话timeout时间没有要求。所以我担心您是不是参考了SMbus的程序进行对应的更改的。