成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java串口發(fā)送指令代碼 java調(diào)用串口

求VBS JAVA 等簡(jiǎn)單易懂的操作串口(com口)的代碼,

Comm.Output=字符串或byte

成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),和布克賽爾蒙古企業(yè)網(wǎng)站建設(shè),和布克賽爾蒙古品牌網(wǎng)站建設(shè),網(wǎng)站定制,和布克賽爾蒙古網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,和布克賽爾蒙古網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

如果是可見字符,則可以直接輸出字符串,如Comm.Output="hello"

不然得用byte(數(shù)組),如

Comm.CommPort = 3 '...使用Com3口

Comm.Settings = "57600,n,8,1" '對(duì)串口通訊的相關(guān)參數(shù)。包括串口通訊的比特率,奇偶校驗(yàn),數(shù)據(jù)位長(zhǎng)度、停止位等。其默認(rèn)值 是“9600,N,8,1”,表示串口比特率是9600bit/s,不作奇偶校驗(yàn),8位數(shù)據(jù)位,1個(gè)停止位。

Comm.OutBufferSize = 1024

If Comm.PortOpen = False Then

Comm.PortOpen = True '...打開串口

End If

Comm.OutBufferCount = 0 '...清空輸出寄存器

Dim buffer(6) as Byte

buffer(0) = 255

buffer(1) = 1

buffer(2) = 0

buffer(3) = 0

buffer(4) = 0

buffer(5) = 0

buffer(6) = 1

Comm.Output = buffer

Comm.PortOpen = False

上面確實(shí)是VB的代碼。

在VBS中,沒有類型,所以聲明數(shù)組與初始化可能為:

Dim buffer(6)

buffer(0) = CByte(255)

...

我沒試過,不一定正確喲。

java 如何向串口發(fā)送指令

需要一個(gè)包 comm.jar

需要一個(gè)配置文件 javax.comm.properties (工程根目錄)

(或者放在JDK里)

// 取得端口句柄

CommPortIdentifier id = CommPortIdentifier.getPortIdentifier(portName);

port = (SerialPort) id .open("SerialDemo", 30000);

port .setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

port .notifyOnDataAvailable(true);

port .notifyOnBreakInterrupt(true);

port .enableReceiveTimeout(delayTime);

讀取之類的自己寫就行了,(port .getInputStream()),完事之后別忘了關(guān)掉端口,不然下次就不能用了,只能重啟系統(tǒng)

配置文件里就一行:

Driver=com.sun.comm.Win32Driver

----------------------------------

你設(shè)個(gè)斷點(diǎn)單步調(diào)試看一下原因,那個(gè)SerialBean是你自己寫的,誰也不知道里面整啥了,單步調(diào)試就知道哪里錯(cuò)誤。

拋出異常了Exception in thread "main" java.lang.NullPointerException

at serial.SerialBean.WritePort(SerialBean.java:114)

從這里看,是在SerialBean.java的114行(函數(shù)WritePort)的一個(gè)東西,它的值是null,所以報(bào)錯(cuò)了

java實(shí)現(xiàn)串口通信代碼

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);//打開串口的超時(shí)時(shí)間為1000ms

serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);//設(shè)置串口速率為9600,數(shù)據(jù)位8位,停止位1們,奇偶校驗(yàn)無

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如何向串口發(fā)送指令?

需要一個(gè)包 comm.jar

需要一個(gè)配置文件 javax.comm.properties (工程根目錄)

(或者放在JDK里)

// 取得端口句柄

CommPortIdentifier id = CommPortIdentifier.getPortIdentifier(portName);

port = (SerialPort) id .open("SerialDemo", 30000);

port .setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);

port .notifyOnDataAvailable(true);

port .notifyOnBreakInterrupt(true);

port .enableReceiveTimeout(delayTime);

讀取之類的自己寫就行了,(port .getInputStream()),完事之后別忘了關(guān)掉端口,不然下次就不能用了,只能重啟系統(tǒng)

配置文件里就一行:

Driver=com.sun.comm.Win32Driver

----------------------------------

你設(shè)個(gè)斷點(diǎn)單步調(diào)試看一下原因,那個(gè)SerialBean是你自己寫的,誰也不知道里面整啥了,單步調(diào)試就知道哪里錯(cuò)誤。

拋出異常了Exception in thread "main" java.lang.NullPointerException

at serial.SerialBean.WritePort(SerialBean.java:114)

從這里看,是在SerialBean.java的114行(函數(shù)WritePort)的一個(gè)東西,它的值是null,所以報(bào)錯(cuò)了

本文題目:java串口發(fā)送指令代碼 java調(diào)用串口
標(biāo)題URL:http://jinyejixie.com/article34/hpcjse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、Google電子商務(wù)、小程序開發(fā)、網(wǎng)站制作網(wǎng)站排名

廣告

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

綿陽服務(wù)器托管
昂仁县| 通化县| 观塘区| 铜鼓县| 襄汾县| 台南市| 宣城市| 嫩江县| 鹰潭市| 威海市| 大冶市| 铜梁县| 绥宁县| 澄城县| 平罗县| 琼海市| 通辽市| 屯留县| 白沙| 自贡市| 万盛区| 利川市| 丰镇市| 庆阳市| 嘉禾县| 东海县| 留坝县| 五原县| 岳阳县| 廊坊市| 双柏县| 合肥市| 西充县| 财经| 罗源县| 亚东县| 霍州市| 平湖市| 潜江市| 金乡县| 涿鹿县|