機(jī)架背板上用
C8051F005做上位機(jī),插件上用ADUC812做下位機(jī),機(jī)架的背板和插件通過I2C總線連接,物理連接方式類似于
內(nèi)存條插到主板上的金手指連接方式,
問題:
對插件反復(fù)熱插拔,I2C總線中的SDA或SCL會被鎖定在低電平,跟蹤C(jī)8051F005相應(yīng)狀態(tài)
寄存器,發(fā)現(xiàn)I2C總線的總處于忙狀態(tài),熱復(fù)位C8051F005(包括看門狗和RESET)都不行,只有斷電重新上電才可恢復(fù).
求助各位網(wǎng)友,請不吝賜教!
網(wǎng)友評論:今天又看到了多年前的帖子。后來將上位機(jī)
硬件I2C方式改為軟件口線模擬方式,好了點(diǎn),但熱插拔依舊會導(dǎo)致C8051F005死鎖,就只好把C8051F005換掉了。
網(wǎng)友評論:IIC發(fā)生鎖死是因?yàn)槟銢]對IIC限時(shí)進(jìn)行處理, 限定讀取數(shù)據(jù)時(shí)間, 進(jìn)行出錯(cuò)處理; 那I2C是不會鎖死的。
最多就是當(dāng)次數(shù)據(jù)丟失而以.
網(wǎng)友評論:其實(shí)問題是C8051F005死機(jī)或死鎖,I2C只是一個(gè)表面現(xiàn)象。
網(wǎng)友評論:暈,四年前的帖子。程序用狀態(tài)機(jī)思想編程好些。
網(wǎng)友評論:初學(xué)者,看不明白!
還是要頂一下