机架背板上用
C8051F005做上位机,插件上用ADUC812做下位机,机架的背板和插件通过I2C总线连接,物理连接方式类似于
内存条插到主板上的金手指连接方式,
问题:
对插件反复热插拔,I2C总线中的SDA或SCL会被锁定在低电平,跟踪C8051F005相应状态
寄存器,发现I2C总线的总处于忙状态,热复位C8051F005(包括看门狗和RESET)都不行,只有断电重新上电才可恢复.
求助各位网友,请不吝赐教!
网友评论:今天又看到了多年前的帖子。后来将上位机
硬件I2C方式改为软件口线模拟方式,好了点,但热插拔依旧会导致C8051F005死锁,就只好把C8051F005换掉了。
网友评论:IIC发生锁死是因为你没对IIC限时进行处理, 限定读取数据时间, 进行出错处理; 那I2C是不会锁死的。
最多就是当次数据丢失而以.
网友评论:其实问题是C8051F005死机或死锁,I2C只是一个表面现象。
网友评论:晕,四年前的帖子。程序用状态机思想编程好些。
网友评论:初学者,看不明白!
还是要顶一下