Java 串口通信(RS232/485)
在Java中,可以使用javax.comm
库或者jSerialComm
库来进行串口通信。以下是使用jSerialComm
库进行串口通信的简单示例:
首先,添加jSerialComm
依赖到你的项目中。如果你使用Maven,可以在pom.xml
中添加如下依赖:
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>2.9.0</version>
</dependency>
然后,你可以使用以下代码来打开串口,发送数据,并接收数据:
import com.fazecast.jSerialComm.SerialPort;
public class SerialExample {
public static void main(String[] args) {
// 打开串口
SerialPort serialPort = SerialPort.openPort("COM3");
// 设置串口参数:波特率、数据位、停止位和奇偶校验
serialPort.setComPortParameters(9600, 8, 1, 0);
// 更多设置(可选)
// serialPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0);
try {
// 写数据到串口
serialPort.writeBytes("Hello, Serial Port".getBytes(), 5000);
// 读数据从串口
byte[] buffer = new byte[1024];
int bytesRead = serialPort.readBytes(buffer, buffer.length);
if (bytesRead > 0) {
String response = new String(buffer, 0, bytesRead);
System.out.println("Response: " + response);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭串口
serialPort.closePort();
}
}
}
请确保将COM3
替换为你的实际串口名称,并根据需要配置波特率和其他串口参数。
注意:jSerialComm
库不需要安装任何额外的驱动程序或者设置,它使用了Java的JNI(Java Native Interface)来访问系统的串口。
评论已关闭