各位大俠: 請(qǐng)問CH454的IIC地址是多少,是本身自帶那?還是我自己定義那? 比清楚我是新手,菜鳥級(jí),剛用這個(gè)片子,煩請(qǐng)大家?guī)兔Α?/p>
CH454的操作命令由兩個(gè)字節(jié)組成,第一個(gè)字節(jié)是命令,第二個(gè)字節(jié)是數(shù)據(jù)。操作命令的第一個(gè)字節(jié)就相當(dāng)于它的I2C地址。454有三十多個(gè)命令,相當(dāng)于它有三十多個(gè)自帶的I2C地址吧。
謝謝您的回答。但我還是有點(diǎn)不明白,那為什么在CH454的一個(gè)例子中就是把地址定為0x40那 為什么這么定義那?程序中是這樣的: // 2線接口的CH454定義 #define CH454_I2C_ADDR 0x40 // CH454的地址 #define CH454_I2C_MASK 0x3E // CH454的2線接口高字節(jié)命令掩碼 如果我把CH454跟ARM板子接起來 那我訪問CH454是不是就通過自定義的那個(gè)地址那?? 就是不明白這個(gè)地址怎么來的 還請(qǐng)您指點(diǎn)。。。。
以CH454pdf的第5頁的操作命令表的設(shè)定系統(tǒng)參數(shù)項(xiàng)為例,位12-位9 是0x04。 調(diào)用ch454_write函數(shù)發(fā)送0x0401操作命令給CH454,第一個(gè)字節(jié)是0x04,第二個(gè)字節(jié)是0x01。 ch454_write函數(shù)會(huì)先調(diào)用CH454_I2c_WrByte來發(fā)送第一個(gè)字節(jié), CH454_I2c_WrByte((UINT8)(cmd>>7)&CH454_I2C_MASK|CH454_I2C_ADDR); 參照CH454pdf的第4頁尾的時(shí)序圖,經(jīng)過了((UINT8)(cmd>>7)&CH454_I2C_MASK|CH454_I2C_ADDR這個(gè)變換,實(shí)際發(fā)送的操作命令的第一個(gè)字節(jié)0x04變?yōu)?x48 這樣實(shí)際發(fā)送的操作命令是0x4801。 建議您仔細(xì)閱讀下CH454的PDF,就會(huì)明白這是怎么回事。