最近樓主拿到的popmetal板上的陀螺儀芯片使用不正常,可讀到設備號,卻沒辦法讀到數據,經過測試,發現所有掛載在IIC總線上的設備全都不正常,然后在別人的另一塊板上可正常運行,發現兩塊板的IR旁的編號不一樣,別人板編號是1445,而樓主的板是1522,估計是新板,在詢問芯客的工程師后,他們在檢測之后,發現是新板中i2c-1總線上的SDA信號被干擾了,sda線被強制拉低,故只要將對應的干擾信號的線隔斷就好。考慮到大家買到新板后可能沒辦法正常使用陀螺儀,故在這里分享給大家如何解決。 首先會有問題的板是這種板,圖中橙色框框的位置數值為1522,紅色圈圈上有兩根排針,排針后面的位置就是下一張圖的綠色圈圈,仔細看可以看到綠色圈圈上引出的排針引出的兩個線,割左邊那條線,但是切記不要太用力,最好割著差不多就測試一下。 然后需要割的位置在這邊,綠色圈圈 樓主“割”出來是這樣子的 測試方法如下 先燒官方固件,然后燒錄帖子里的kernel與resource(里面有打開l3g4200d驅動) 然后用adb工具把i2cdetect push到板子里去,然后進入到i2cdetect的位置 執行 chmod 777 i2c* ./i2cdetect -y 1 如果0x69的位置變成UU就代表陀螺儀設備被掛上總線,即是干擾線成功被割斷 附件: |