各位高手请帮忙解决下。
我用CC2541与CC3200连接,CC2541作为I2C Master,CC3200作为I2C Slave通讯,CC2541采用 hal_i2c。程序调通,但是有时会遇到 I2C 阻塞问题,具体现象如下:
1. 阻塞可能会发生在 I2C_WRITE() 或 I2C_READ(),都发生在宏的 while 循环跳不出来;
2. I2C_READ()阻塞时,SDA保持低电平,SCL保持低电平;I2C_WRITE()阻塞时,SDA和SCL都保持低电平;
3. 阻塞时,寄存器 I2CCFG.STA=0, STO=0, SI=0, AA=1, I2CSTAT=F8。
我尝试计数跳出死循环,但是后续无法让 I2C 恢复正常。
请各位大牛帮忙分析解决,谢谢!
tison xing:
请问一下,您这问题解决了吗?我也出现了这个问题,我的qq:394987516,能加一下qq交流吗,谢谢!
hao wang26:
回复 tison xing:
你好,我用I2C读写数据时,也遇到了这种问题,SDA和SCL总是会一直被拉低。你知道是为什么吗?
da qin zheng sheng:
回复 hao wang26:
使用低功耗了不?重新初始化i2c
HG:
回复 hao wang26:
先看看有没有定义POWER_SAVING