16. 鈦極OS之TiI2CMaster

鈦極OS之TiI2CMaster

 

雙向二線制同步串行總線( Inter-Integrated Circuit)簡稱爲I2C,是由Philips公司開發的一種簡單、雙向二線制同步串行總線。它只需要兩根線即可在連接於總線上的器件之間傳送信息,具體可參考https://baike.baidu.com/item/I2C ... 27975&fromtitle=I2Chttps://en.wikipedia.org/wiki/I%C2%B2C

TiJOS Framework提供TiI2CMaster來支持I2C主機功能,其將I2C Master按照port分組,共支持256組,組號範圍0-255,即:port0-port255;每組都支持指定模式的單獨設置。

 

Java包

tijos.framework.devicecenter

 

TiI2CMaster工作模式定義

項目   參數 說明
波特率 100Kbps、400Kbps、3.4Mbps 支持的通訊波特率,受硬件平臺限制
從機地址 7、10 地址位數

TiI2CMaster方法定義

TiI2CMaster類中主要的方法:

 

方法 說明
TiI2CMaster(int portID) 靜態方法,通過指定port打開I2C Master,返回TiI2CMaster對象,若需要再次打開或打開爲其他設備時需要先調用close關閉當前對象
void close() 關閉當前對象
void setWorkBaudrate(int baudRate) 設置通訊波特率
void read(int address, byte[] data, int offset, int len) 從從機讀數據,7、10位從機地址。
void write(int address, byte[] data, int offset, int len) 向從機寫數據,7、10位從機地址。
void read(int address, byte[] data, int offset, int len, boolean repeated) 從從機讀數據並使能重複,即,不發送stop,從7、10位從機地址。
void write(int address, byte[] data, int offset, int len, boolean repeated) 向從機寫數據並使能重複,即,不發送stop,7、10位從機地址。


TiI2CMaster類中他方法的技術說明請參考TiJOS Framework說明文檔。

 

TiI2CMaster對象創建與銷燬

TiI2CMaster對象的創建需要調用open靜態方法,傳入指定port參數,返回創建的接口對象。

TiI2CMaster對象的銷燬需要調用close方法。

 

  1. <font size="3">...
  2. int i2cPort0 = 0;
  3. TiI2CMaster i2c0 = TiI2CMaster.open(i2cPort0);
  4. ...
  5. ...
  6. ...
  7. i2c0.close();</font>

複製代碼

TiI2CMaster模式設置

TiI2CMaster模式設置通過setBaudRate方法設置,設置參數爲波特率。

 

  1. <font size="3">...
  2. i2c0.setBaudRate(100); //波特率100Kbps
  3. ...</font>

複製代碼

注意:模式支持受平臺特性限制,設置時須瞭解硬件平臺特性。

 

TiI2CMaster輸入輸出

TiI2CMaster的輸入輸出操作通過read和write方法完成

 

  1. <font size="3">...
  2. byte[] cmdBuffer = {0x40, 0x00};
  3. byte[] dataBuffer = {0x00, 0x00, 0x00, 0x00};
  4. i2c0.write(0x3C, dataBuffer, 0, 2, true);
  5. i2c0.read(0x3C, dataBuffer, 0, 4);
  6. ...</font>

複製代碼


更多詳細介紹請見鈦雲物聯官網:www.tijos.net

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章