本帖最后由 longdelu 于 2016-10-21 00:07 编辑
使用i2c1,通过开关矩阵配置其SCL引脚为PIO0_12, SDA引脚为PIO0_13,发现不能长时间稳定工作,逻辑分析仪显示,经过一段时间其SCL的时序会出错,准确来说缺失一个SCL时钟,本来应该发9个SCL时钟,然而它发了8个,最终导致I2C1控制器 pending 一直为0,从而I2C1再也不能操作总线了。i2c1总线的速率为400K, 外接上拉电阻为10K, 我也把i2c1的SCL、 SDA引脚配置为"假"开漏模式了。然而我把 i2c1的SCL引脚配置PIO0_10, SDA配置为PIO0_11(本来这两个引脚专门用于i2c0的,同时这两个引脚硬件上就是开漏),发现i2c1就能稳定的工作,请问这是啥子原因?是否还有哪些细节我没有注意到?或者芯片硬件的引脚存在bug?这个问题困惑好多天了,恳求各位热心的大神及FAE大牛略加指点,感激流泪!!! |