Java 串口接收数据指南353


串口通信是计算机与外部设备通信的一种常见方式,例如传感器、仪表和打印机。使用 Java 来接收串口数据的步骤如下:

1. 导入必要的库```java
import ;
import ;
import ;
import ;
```

2. 初始化串口```java
// 端口名称(例如 "COM1")
String portName = "COM1";
// 输出流(用于发送数据)
OutputStream outputStream = null;
// 输入流(用于接收数据)
InputStream inputStream = null;
// 波特率
int baudRate = 9600;
// 数据位
int dataBits = 8;
// 停止位
int stopBits = 1;
// 校验位
int parity = 0;
// 创建一个端口对象
SerialPort serialPort = new SerialPort(portName, baudRate, dataBits, stopBits, parity);
// 打开端口
();
// 获取输出流和输入流
outputStream = ();
inputStream = ();
```

3. 监听来自串口的输入```java
// 创建一个线程来监听输入
Thread thread = new Thread() {
@Override
public void run() {
while (true) {
// 从输入流中读取数据
byte[] data = new byte[1024];
int numBytesRead = (data);
// 处理接收到的数据
// ...
}
}
};
// 启动监听线程
();
```

4. 向串口发送数据```java
// 向输出流中写入数据
(data);
```

5. 关闭端口```java
// 关闭端口
();
```

示例代码

以下是一个示例代码,演示如何使用 Java 接收来自串口的数据:```java
import ;
import ;
import ;
import ;
public class SerialPortExample {
public static void main(String[] args) {
// 端口名称
String portName = "COM1";
// 输出流
OutputStream outputStream = null;
// 输入流
InputStream inputStream = null;
// 波特率
int baudRate = 9600;
// 数据位
int dataBits = 8;
// 停止位
int stopBits = 1;
// 校验位
int parity = 0;
try {
// 创建一个端口对象
SerialPort serialPort = new SerialPort(portName, baudRate, dataBits, stopBits, parity);
// 打开端口
();
// 获取输出流和输入流
outputStream = ();
inputStream = ();
// 创建一个线程来监听输入
Thread thread = new Thread() {
@Override
public void run() {
while (true) {
// 从输入流中读取数据
byte[] data = new byte[1024];
int numBytesRead = (data);
// 处理接收到的数据
("接收到的数据:" + new String(data, 0, numBytesRead));
}
}
};
// 启动监听线程
();
// 向串口发送数据
("Hello from Java!".getBytes());
// 等待几秒钟,让数据传输完成
(5000);
// 关闭端口
();
} catch (Exception e) {
();
}
}
}
```

您可以根据自己的需要修改代码中的端口名称、波特率和其他设置。

2024-12-06


上一篇:Java 中将字符串转换为字节数组

下一篇:Java 通过串口接收数据