AM4378的开发板,在I2C1 总线上加了一个I2C从设备MPU6050,但是通信一段时间就会产生“Arbitration lost”仲裁丢失错误,然户系统就会一直出现 " timeout waiting for bus ready " 这个错误。
芯片手册上说出现仲裁丢失错误有两种情况,一种是真正的仲裁丢失,另一种是"when the I2C attempts to start a transfer while BB (bus busy) is 1.",我I2C总线上只有一个主设备,因此应该是第二种情况。但是I2C在传输的时候已经判断了当前总线为空闲,为什么还会出现这种现象呢? 并且 bus busy 位被置1后,软件复位和软件重启均无法清除,只有断电重启才能清除该标志位。
为什么会出现这种情况?有人之前遇到过么?
