鈦極OS之TiOWMaster
1-Wire總線是一個簡單的信號傳輸電路,可通過一根共用的數據線實現主控制器與一個或一個以上從器件之間的半雙工雙向通信。具體可參考https://baike.baidu.com/item/1-Wire或https://en.wikipedia.org/wiki/1-Wire。
TiJOS Framework提供TiOWMaster來支持1-Wire主機功能,其將OW Master按照port分組,共支持256組,組號範圍0-255,即:port0-port255;其中每組內按照io劃分16條輸入輸出,輸入輸出號範圍0-15,即:io0-io15;每條輸入輸出都支持指定模式的單獨設置。
Java包
tijos.framework.devicecenter
TiOWMaster工作模式定義
項目 |
參數 |
說明 |
工作模式 |
MODE_STANDARD/MODE_OVERDRIVE |
標準模式/高速模式 |
TiOWMaster方法定義
TiOWMaster類中主要的方法:
方法 |
說明 |
TiOWMaster open(int portID, int... ioIDs) |
靜態方法,通過指定port和io集合打開OW Master,返回TiOWMaster對象 |
void close( ) |
關閉當前對象 |
setWorkMode(int ioID, int mode) |
設置工作模式 |
void reset(int ioID) |
復位I/O |
int readBits(int ioID, int bits) |
讀I/O位數據 |
void writeBits(int ioID, int value, int bits) |
寫I/O位數據 |
TiOWMaster類中他方法的技術說明請參考TiJOS Framework說明文檔。
TiOWMaster對象創建與銷燬
TiOWMaster對象的創建需要調用open靜態方法,傳入指定port和io集合參數,返回創建的接口對象。
TiOWMaster對象的銷燬需要調用close方法。
- <font size="3">...
- int owPort0 = 0;
- int owIo0 = 0; //定義io集合
- int owIo1 = 1;
- TiOWMaster ow0 = TiOWMaster.open(owPort0, owIo0, owIo1);
- ...
- ...
- ...
- ow0.close();</font>
複製代碼
TiOWMaster模式設置
TiOWMaster模式設置通過setIoMode方法設置,設置參數爲ioID和工作模式。
- <font size="3">...
- ow0.setIoMode(owIo0, TiOWMaster.MODE_STANDARD); //io0工作在標準模式
- ow0.setIoMode(owIo1, TiOWMaster.MODE_OVERDRIVE); //io1工作在高速模式
- ...</font>
複製代碼
注意:模式支持受平臺特性限制,設置時須瞭解平臺特性。
TiOWMaster輸入輸出
TiOWMaster的輸入輸出操作通過reset、readBits和writeBits方法完成。
- <font size="3">...
- ow0.reset(owIo0);
- ow0.writeBits(owIo0, 0x80, 8);
- int value = ow0.readBits(owIo0, 8);
- ...
- ow0.reset(owIo1);
- ow0.writeBits(owIo1, 0x01, 1);
- int value = ow0.readBits(owIo1, 2);
- ...</font>
複製代碼 更多詳細介紹請見鈦雲物聯官網:www.tijos.net |