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