I2C线上挂了3个器件,2个正常工作,有一个对它发送读写指令时,它能回应ACK信号,但是读写却得不到正确的值。
而我用另一个CPU控制时,却可以。另一个CPU不是我做的,但是我抓它的时序和我是一样的! 有谁知道吗?
------解决方案--------------------------------------------------------
I2c的频率是多少,模拟的还是硬件的I2C接口,你用的什么抓它的时序,怎么判断和你的是一样的?
------解决方案--------------------------------------------------------
看起来是上拉有问题。还有看看芯片支持的工作电压和CPU外设支持的电压是否匹配。
------解决方案--------------------------------------------------------
------解决方案--------------------------------------------------------
2uS?上升时间怎么会那么长?
------解决方案--------------------------------------------------------
硬件的I2C都不行,那要看看你的协议了
是什么单片机什么器件