日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Java 串口 mysql_java串口通讯

發布時間:2025/3/15 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 串口 mysql_java串口通讯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用java進行串口通信確實不是串口通訊操作的主流方法,另外寫好的的java程序無法隨意的遷移。不過對熟悉java的同學確實挺有幫助,下面是我使用java語言進行串口通訊的過程。

1 usb轉串口安裝。

2 jar包的安裝。

3 java代碼的實現。

usb轉串口的安裝。

一般把串口線插上電腦就會提示安裝驅動,在網上下一個串口驅動就會成功了。可我的電腦卻怎么也成功不了,在網上找了各種方法就是不行(我的系統是win7)。更有不靠譜的說法是重裝系統。總之試變了網上的驅動,還用什么驅動精靈之類的都把還是沒有成功。打開設備管理器,usb-serial controller總是有×××的嘆號。

我的解決方法。

運行-》輸入hdwwiz-》下一步選擇安裝我手動列表中選擇硬件(高級)-》下一步選擇端口(com和lpt)-》下一步選擇public-》然后選擇第一個public ............->再點擊下一步進行安裝。

最后終于成功了。

安裝jar包

安裝jar包和我們平常的引入jar包不太一樣。附件是用到的jar包。

首先把RXTXcomm.jar放入所用jre的lib目錄下,把rxtxSerial.dll放到jre的bin目錄下就可以了。

代碼實現

主要是兩步第一步查到所使用的com口。第二步對串口進行監聽。

具體的代碼如下:

import java.io.*;

import java.util.*;

import test.FeelTheBase;

import test.SimpleReadA;

import gnu.io.*;

public class SimpleRead implements SerialPortEventListener { // SerialPortEventListener

// 監聽器,我的理解是獨立開辟一個線程監聽串口數據

public CommPortIdentifier portId; // 串口通信管理類

static Enumeration portList; // 已經連接上的端口的枚舉

public InputStream inputStream; // 從串口來的輸入流

public InputStreamReader streamReader;

public OutputStream outputStream;// 向串口輸出的流

public OutputStreamWriter streamwriter;

public SerialPort serialPort; // 串口的引用

public void init() {

try {

serialPort = (SerialPort) portId.open(s, 2000);// 打開串口名字為myapp,延遲為2毫秒

inputStream = serialPort.getInputStream();

outputStream = serialPort.getOutputStream();

serialPort.addEventListener(this); // 給當前串口天加一個監聽器

} catch (FileNotFoundException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

catch (TooManyListenersException e) {

}

serialPort.notifyOnDataAvailable(true); // 當有數據時通知

try {

serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, // 設置串口讀寫參數

SerialPort.STOPBITS_1, SerialPort.PARITY_ODD);

} catch (UnsupportedCommOperationException e) {

}

}

public void serialEvent(SerialPortEvent event) {// SerialPortEventListener

// 的方法,監聽的時候會不斷執行

switch (event.getEventType()) {

case SerialPortEvent.BI:

case SerialPortEvent.OE:

case SerialPortEvent.FE:

case SerialPortEvent.PE:

case SerialPortEvent.CD:

case SerialPortEvent.CTS:

case SerialPortEvent.DSR:

case SerialPortEvent.RI:

case SerialPortEvent.OUTPUT_BUFFER_EMPTY:

break;

case SerialPortEvent.DATA_AVAILABLE:// 當有可用數據時讀取數據,并且給串口返回數據

try {

while (inputStream.available() > 0) {

byte[] by = new byte[inputStream.available()];

inputStream.read(by);

System.out.println(by);//獲得的數據

}

} catch (IOException e) {

}

break;

}

}

public static void main(String[] args) {

SimpleRead com3 = new SimpleRead();

try {

portList = CommPortIdentifier.getPortIdentifiers(); // 得到當前連接上的端口

while (portList.hasMoreElements()) {

CommPortIdentifier p = (CommPortIdentifier) portList

.nextElement();

if (p.getPortType() == CommPortIdentifier.PORT_SERIAL) {// 判斷如果端口類型是串口

if (p.getName().equals("COM25")) { // 判斷如果COM3端口已經啟動就連接

com3.setCom(p);

com3.setOther(com5);

System.out.println(p.getName());

}

}

}

com3.init(); // 實例一個;

} catch (Exception e) {

e.printStackTrace();

}

}

}

總結

以上是生活随笔為你收集整理的Java 串口 mysql_java串口通讯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。