java串口讀寫代碼,串口讀命令代碼

java如何從串口讀取數(shù)據(jù)帶GUI

1.導(dǎo)入支持java串口通信的jar包:

成都創(chuàng)新互聯(lián)公司是一家業(yè)務(wù)范圍包括IDC托管業(yè)務(wù),虛擬主機、主機租用、主機托管,四川、重慶、廣東電信服務(wù)器租用,西云機房,成都網(wǎng)通服務(wù)器托管,成都服務(wù)器租用,業(yè)務(wù)范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務(wù)公司。

在maven項目的pom.xml中添加RXTXcomm的依賴 或者 下載RXTXcomm.jar并導(dǎo)入到項目中。

支持Java串口通信操作的jar包,java.comm比較老,而且不支持64位系統(tǒng),推薦使用Rxtx這個jar包(32位/64位均支持)。

注意:運行過程中拋出 java.lang.UnsatisfiedLinkError 錯誤或 gnu.io 下的類找不到時,將rxtx解壓包中的 rxtxParallel.dll,rxtxSerial.dll 這兩個文件復(fù)制到 C:\Windows\System32 目錄下可解決該錯誤。

2.編寫代碼操作串口:

串口必要參數(shù)類:包含連接串口所必須的參數(shù),方便在調(diào)用串口時設(shè)置和傳遞串口參數(shù)。

求讀寫串口的java程序。要求可運行、簡練。

CommPortIdentifier serialPortId = CommPortIdentifier.getPortIdentifier(“COM2”);

SerialPort port = (SerialPort) serialPortId.open(“Read”, 30); //打開COM2串口,其中30是打開串口的超時時間

port.setSerialPortParams(1200, 8, 1, 0); //設(shè)置COM2的波特率,數(shù)據(jù)位,停止位,校驗方式

//從串口中得到輸入輸出流了

OutputStream out = port.getOutputStream();

out .write(buffer);

out .flush();

InputStream in = port.getInputStream();

in.read(data); //data是一個byte[]

JAVA讀取com串口數(shù)據(jù)

java沒有自帶的COM工具

需要導(dǎo)入外來的包來做

建議使用RXTX

具體可以自己baidu下

如何用Java語言向串口讀寫數(shù)據(jù)

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端口則退出循環(huán)

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);//設(shè)置串口速率為9600,數(shù)據(jù)位8位,停止位1們,奇偶校驗無

InputStream in = serialPort.getInputStream();//得到輸入流

OutputStream out = serialPort.getOutputStream();//得到輸出流

//進(jìn)行輸入輸出操作

//操作結(jié)束后

in.close();

out.close();

serialPort.close();//關(guān)閉串口

} catch (PortInUseException e) {

e.printStackTrace();

} catch (UnsupportedCommOperationException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

java 多線程讀寫同一串口?

串口本來是單向的,所以,讀的時候肯定寫不了(相反亦然)、一個程序(線程)寫了別的肯定寫不了。

所以,一個線程讀、另一線程寫。通過事件通知上層。 你懂。

java如何通過串口IC讀卡器讀取IC卡號?

讀取IC讀卡器分很多種,有種最簡單的是直接連電腦,使用串口助手軟件,選定特定的波特率,就可以接收IC卡號(有些是像RFIC的就需要對其解碼)

上面問題解決后,重點的是java如何做一個串口助手,眾所周知,java是運行在虛擬機上,也就是要運行在window的一個進(jìn)程上,如果要java讀寫串口的話,肯定需要對它進(jìn)行驅(qū)動編寫,而不僅僅是加載個jar包就能解決的。

幸運的是SUN公司已經(jīng)幫我們解決了這個問題,你可以到sun公司網(wǎng)站上下載javacomm20-win32.zip的壓縮包,里面就包含了串口的驅(qū)動(.dll文件)以及對應(yīng)的jar包,下載后把.dll文件放到你JDK路徑/bin,通過jar包提供的api你就可以操作串口相關(guān)的接口了。這里一遍關(guān)于java串口使用的文章,希望能提供給您:

本文標(biāo)題:java串口讀寫代碼,串口讀命令代碼
文章位置:http://www.muchs.cn/article28/hssecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、搜索引擎優(yōu)化自適應(yīng)網(wǎng)站、關(guān)鍵詞優(yōu)化、虛擬主機、微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)