2009-10-28 30 views
0

我在此的uC能夠正常工作的I2C(SMBus的),並有一個VB界面可以從的uC通過USB(使用了USBXpress)進行通信並執行I2C交易到一個單獨的集成電路。問題是我正在讓uC每隔1s輪詢IC上的一個寄存器。當我做一個異步GUI I2C交易,每過一段時間,我相信這與輪詢I2C交易發生碰撞,所有的I2C數據得到的GUI(即登記在冊0×01 0×00的數據顯示,高達)移動。 IC中的I2C數據看起來正確(通過使用LA監視I2C總線)。究竟發生了什麼,我該如何解決這個問題?I2C上硅圖像c8051f32x(使用了USBXpress)

回答

0

如果UC和I2C之間的輪詢是發生在同一個I2C總線是由您的GUI應用程序,那麼你需要確保訪問I2C進行控制,使得之前,其他允許一個事務完成開始。也許你已經這樣做了,但是這個問題並不清楚。

而且,張貼的uC代碼的一些代碼或僞代碼可能的幫助。

+0

我試圖添加一個標誌(關斷UC的同步調查時,一個GUI事務進來,然後重新啓動已同步調查,一旦GUI事務完成),但它並不能幫助。 – tosa 2009-10-28 00:26:46