當前位置:首頁 » 操作系統 » java串口源碼

java串口源碼

發布時間: 2025-08-03 23:13:53

java實現串口通信代碼

public static void process() {
try {
Enumeration portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements())
{
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)//如果埠類型是串口則判斷名稱
{
if(portId.getName().equals("COM1")){//如果是COM1埠則退出循環
break;
}else{
portId=null;
}
}
}
SerialPort serialPort = (SerialPort)portId.open("Serial_Communication", 1000);//打開串口的超時時間為1000ms
serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//設置串口速率為9600,數據位8位,停止位1們,奇偶校驗無
InputStream in = serialPort.getInputStream();//得到輸入流
OutputStream out = serialPort.getOutputStream();//得到輸出流

//進行輸入輸出操作

//操作結束後
in.close();
out.close();
serialPort.close();//關閉串口

} catch (PortInUseException e) {
e.printStackTrace();
} catch ( e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

❷ 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網上有開源實例。可以根據自己個需求進行加以修飾利用。

❸ 在java的web程序中怎麼使用串口通訊

方法如下:

  1. 新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。因為javacomm20-win32.zip包里有樣例SimpleRead.java,可以通過這個例子測試串口是否正確。

  2. 接收數據正確後,根據傳送接收雙方的協議,採用CRC循環校驗,根據傳輸的一方的校驗函數判定是否是正確傳輸。

  3. 把正確結束的數據解析,查看自己指定的通訊規則,然後解析。

  4. 插入資料庫,jdbc插入。

  5. 數據統計,定時統計每小時,每天,每月,每年的平均值,採用quartz服務來實現。

  6. 建立web工程,採用hibernate3,spring3,dwr技術把資料庫數據動態顯示,圖表採用jfreechart,以及AJAX的運用

❹ java實現串口通信代碼

在Java中實現串口通信涉及一系列步驟。首先,獲取可用的串口列表,通過調用CommPortIdentifier.getPortIdentifiers()方法獲取所有可用埠。接下來,遍歷這些埠,檢查每個埠的類型是否為串口。這里我們關注的是名為"COM1"的串口,因此如果發現此埠,將立即退出循環。對於其他串口,將忽略它們,設置portId為null。

一旦找到並確認了正確的串口,使用portId.open("Serial_Communication", 1000)方法以1000毫秒的超時時間打開串口。接著,通過調用setSerialPortParams方法,設置串口參數。具體參數包括波特率為9600,數據位為8位,停止位為1位,以及無奇偶校驗。

打開串口後,可以通過serialPort.getInputStream()和serialPort.getOutputStream()分別獲取串口的輸入流和輸出流。接下來,可以在此輸入輸出流上執行數據的讀取和發送操作。

當通信操作完成後,需要關閉這些流和串口。具體操作包括關閉輸入流in.close(),關閉輸出流out.close(),以及最後關閉串口serialPort.close()。整個過程中,異常處理也非常重要,通過try-catch塊來捕捉並處理可能出現的PortInUseException、和IOException等異常。

為了確保程序的健壯性和可靠性,合理地設置和處理這些異常是至關重要的。通過以上步驟,Java程序可以成功實現與串口設備的通信,從而進行數據的讀取和發送。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:250
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705