謝謝大大!!!我已經將問題解決了!!! 1.大大的方法是可以的,我已成功開啟另一個i2c位址,並且可以使用(原廠的程式碼似乎有個保護機制,需要修改掉才可以讀到I2C1_SCL與SDA),但是無法兩邊都初始化,會強碰到,由於已經找到解決方法,所以就沒去解決這個問題。 2.我發現之前一直不能讀取的原因是因為i2c_Initialize()這個函式(原廠範例程式的初始化...),如果初始化是使用這個函式的話,使用一顆G146沒有問題,但是如果連接兩顆並使用硬體更改的話就會出現問題。(這邊我沒再去深入探討) 3.如果要使用多顆I2C裝置並使用同一個I2C腳位的話,可以試試i2c_InitSW()這個函式。 |
對 Pin8,10是第二組的腳位 然後關於資訊的部分 我是問內部的工程師的 然後在I2C Software-Simulated Functions那裏就有function可以用了 基本上可以參照sample code 然後function要換成軟體模擬的function 裡面會有devs變數 代表的是第X組 在.h有define #define I2C_USEMODULE0 (1<<0) #define I2C_USEMODULE1 (1<<1) 代表兩組這樣 |
多謝大大回應!! 不過我這邊的說明書那張圖的8是Reserved,10是SPISS耶? 這個資訊在哪裡有阿? 然後知道了腳位之後,我該如何定義呢? 預設SCL跟SDA的腳位是4跟6,如果用I2C Software-Simulated Functions的函式去做的話, 我應該怎麼去寫那個程式呢?麻煩大大了!!! |
腳位應該是這樣喔
|
本帖最後由 tree1198 於 2013-9-13 15:24 編輯 謝謝大大的回覆阿!!! 第一種的話我有看到該程式碼,大大說的是GPIO34-37吧?那個腳位是在哪裡呢? 第二種的話就是我詢問原廠工程師的方式,硬體修改之後去讀取還是不行阿...(個別讀取都沒問題,但是只要兩個串接程式就會出現問題) |
你要控制兩顆146的話給你一些意見 第一種是用軟體模擬 你可以去下載source code看看 在i2c.cpp裡面有提到I2C Software-Simulated Functions 那邊的function就是供軟體模擬使用了 而且有兩組可以使用 第二種是用硬體修改 你可以看看官方的硬體圖 可以把兩組的Address錯開 這樣應該就可以用了 |
小黑屋|手機版|Archiver|機器人論壇 from 2005.07
GMT+8, 2024-12-4 00:50 , Processed in 0.328574 second(s), 11 queries , Apc On.
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.