如题,现在遇到的情况是在使用硬件IIC和外设通信时,不知道是跑程序时什么情况导致IIC突然出错,IIC我挂着一个时钟芯片和SHT30温湿度芯片,出错后就必须把所有的电源断开(包括时钟芯片挂着的钮扣电池)否则不管怎么复位都不行,只有全部断电过后重新上电才可以继续使用IIC不会报错,请问是有没有软件的方式复位一下芯片硬件IIC
Viki Shi:
你的问题应该是排查I2C哪里出现错误,而不是复位。CC3200的I2C应用SDK里有例程,另外我们也有文档供参考: processors.wiki.ti.com/…/CC3200_I2C_Application
da qin zheng sheng:
可以单独给i2c芯片供电,出现故障关闭电源后再打开。
da qin zheng sheng:
回复 da qin zheng sheng:
另外如果经常出现故障 ,需要检查硬件和软件!
user4637920:
整个程序复位都不行,使用软件看门狗不行?
看你的意思,还得断开时钟芯片的电池,那估计软件复位没招了。
目前看,还是要找找程序的问题,出错后会不会进入硬件错误中断这种。如果这种,好像没有软件复位的好方法。
I2C是通信接口,作用就是读写命令和数据。所以感觉是读写越界,包括指针、数组什么的。
danshuai jin:
回复 user4637920:
我程序里有做按键中断菜单,我现在做的处理是在使用IIC通信之前把按键中断关了,这样在快速按键的时候不会再出现问题,应该是按键太快,在IIC通信的过程中频繁进中断导致IIC出错,主要是我没跑OS系统