當前位置:編程學習大全網 - 網站源碼 - java串口通信中怎樣以十六進制數發送

java串口通信中怎樣以十六進制數發送

做串口通訊的時候基本都是通過io流讀取、輸出。那麽在java開發中發送數據的時候使用OutputStream,而其write()的參數是字節數組、int整形。如果使用字節數組發送的時候,通常可以直接寫成out.write("1234".getBytes())。這樣壹來單片機讀到的數據則是31 32 33 34。但是在串口發送的時候先把16進制字符串轉化為byte數組在發送出來,則是發送什麽讀取到的就是什麽。使用:out.write(HexString2Bytes("1234"));那麽讀取到的還是1234。16進制字符串轉化為byte數組的方法為:

public static byte[] HexString2Bytes(String src) {

if (null == src || 0 == src.length()) {

return null;

}

byte[] ret = new byte[src.length() / 2];

byte[] tmp = src.getBytes();

for (int i = 0; i < (tmp.length / 2); i++) {

ret[i] = uniteBytes(tmp[i * 2], tmp[i * 2 + 1]);

}

return ret;

}

在用java做串口開發的時候建議使用開源的Rxtx做。效率、使用方法都要優。使用sun開源的comm個人覺得不是很便利。rxtx網上有開源實例。可以根據自己個需求進行加以修飾利用。

  • 上一篇:《咖啡王子壹號店》片曲Go go chan歌詞?
  • 下一篇:飛機在跑道上起飛速度有多快?
  • copyright 2024編程學習大全網