共计 1886 个字符,预计需要花费 5 分钟才能阅读完成。
在 Java 中读取串口数据,可以使用 RXTXcomm 库或 jSerialComm 库来操作串口。
-
使用 RXTXcomm 库:
- 下载并安装 RXTXcomm 库,在 Java 项目中导入 RXTXcomm.jar 文件。
- 使用
CommPortIdentifier
类的getPortIdentifiers()
方法获取所有串口的列表。 - 遍历串口列表,使用
CommPortIdentifier
类的getName()
方法获取串口的名称。 - 使用
CommPortIdentifier
类的open()
方法打开指定的串口,并使用SerialPort
类的getInputStream()
方法获取串口的输入流。 - 使用输入流的
read()
方法读取串口数据,并进行处理。
示例代码如下:
import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; import java.io.InputStream; import java.util.Enumeration; public class SerialPortReader {public static void main(String[] args) {Enumeration portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) {CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {System.out.println("Found serial port: " + portId.getName()); try {SerialPort serialPort = (SerialPort) portId.open("SerialPortReader", 2000); InputStream inputStream = serialPort.getInputStream(); int data; while ((data = inputStream.read()) != -1) {// 处理读取到的串口数据 System.out.println("Received data: " + data); } serialPort.close();} catch (Exception e) {e.printStackTrace(); } } } } }
-
使用 jSerialComm 库:
- 下载并安装 jSerialComm 库,在 Java 项目中导入 jSerialComm.jar 文件。
- 使用
SerialPort.getCommPorts()
方法获取所有串口的列表。 - 遍历串口列表,使用
SerialPort.getCommPort()
方法获取指定的串口。 - 使用串口的
openPort()
方法打开串口,并使用SerialPort.getInputStream()
方法获取串口的输入流。 - 使用输入流的
read()
方法读取串口数据,并进行处理。
示例代码如下:
import com.fazecast.jSerialComm.SerialPort; import java.io.InputStream; public class SerialPortReader {public static void main(String[] args) {SerialPort[] serialPorts = SerialPort.getCommPorts(); for (SerialPort serialPort : serialPorts) {System.out.println("Found serial port: " + serialPort.getDescriptivePortName()); serialPort.openPort(); InputStream inputStream = serialPort.getInputStream(); try {int data; while ((data = inputStream.read()) != -1) {// 处理读取到的串口数据 System.out.println("Received data: " + data); } } catch (Exception e) {e.printStackTrace(); } serialPort.closePort();} } }
以上代码只是简单示例,实际使用时可能需要根据具体的串口设备和数据协议进行相应的配置和处理。
丸趣 TV 网 – 提供最优质的资源集合!
正文完
发表至: Java
2023-12-13