用MPU9250傳感器,由于該傳感器只有一個DA0地址引腳,所以常規情況下無法配置IIC地址。
我用74HC154給不同的MPU傳感器的地址引腳配置電平,即選中傳感器的地址引腳低電平為使能。
此方法讀取資料正常,但發現速率很低。
例如與一個MPU通訊,一秒可讀取100次資料。IIC輪詢兩個MPU,一秒可以讀取90個資料,平均一個MPU一秒被讀取45次。
IIC輪詢是個MPU,一秒鐘可以讀取10個資料,平均一個MPU一秒被讀取一次資料。
請問這是怎么回事,可能是什么原因?
uj5u.com熱心網友回復:
額,我覺得是當設備增多的時候,你的中斷也會增加,回應中斷的時候資料就丟失了一部分,所以每次接受某一個設備的資料的時候之前先屏蔽中斷,當傳輸完成再打開中斷。uj5u.com熱心網友回復:
感謝幫助,我這個設備目前沒用到中斷相關,IIC通訊也是模擬的,可能不是這方面問題。
uj5u.com熱心網友回復:
找到官方例程里的中斷了,藏得太深了,我嘗試改一下,謝謝
uj5u.com熱心網友回復:
沒有這么去用過MPU9250,因為Datasheet里面沒有表述 AD0 這個管腳是何時被采樣的。就是不知道什么時候I2C的地址會根據AD0進行重新配置。如果AD0改變了,但是地址需要過一段時間才Load到芯片里面的Logic,那回應的速率肯定也就下降了。(這個純屬于個人猜測,因為Datasheet根本沒有說明這個是怎么做的)另外,如果你有很多MPU我個人建議使用SPI通過CS片選。
PS,這個芯片廠家已經不推薦了,做著玩沒事,但是做產品就當注意。
uj5u.com熱心網友回復:
感謝回復和講解,如果這樣的話也只能改硬體了,請問有沒有其他9軸傳感器芯片推薦?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/106965.html
標籤:硬件設計
上一篇:mmc write failed
