SpringBoot+jSerialComm实现Java串口通信 读取串口数据以及发送数据
warning:
这篇文章距离上次修改已过220天,其中的内容可能已经有所变动。
import com.fazecast.jSerialComm.*;
public class SerialCommExample {
public static void main(String[] args) {
SerialPort comPort = SerialPort.getCommPorts()[0]; // 选择第一个串口
comPort.setComPortParameters(9600, 8, 1, 0); // 设置波特率为9600, 数据位8位, 停止位1位, 无校验
comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 0, 0); // 设置超时
try {
comPort.openPort(); // 打开串口
if (comPort.isOpen()) {
System.out.println("串口已打开,可以进行通信。");
// 读取数据
while (true) {
try {
byte[] buffer = new byte[1024];
int bytesRead = comPort.readBytes(buffer, buffer.length);
if (bytesRead > 0) {
String input = new String(buffer, 0, bytesRead);
System.out.println("接收到数据: " + input);
}
} catch (Exception e) {
e.printStackTrace();
}
// 在此处添加发送数据的逻辑
}
} else {
System.out.println("无法打开串口。");
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (comPort.isOpen()) {
comPort.closePort(); // 关闭串口
}
}
}
}
这个代码示例展示了如何使用jSerialComm库在Java中打开串口、设置串口参数、读取数据以及发送数据。需要注意的是,这个示例中的串口选择是基于假设的第一个串口,在实际应用中需要根据实际情况选择正确的串口。同时,读取和发送数据的逻辑需要根据具体的应用场景来实现。
评论已关闭