java同时控制俩个串口
时间: 2023-10-11 11:26:20 浏览: 49
同时控制两个串口需要使用多线程技术,以下是一个简单的示例代码,可以同时控制两个串口设备:
```java
import jssc.SerialPort;
import jssc.SerialPortException;
public class MultipleSerialPortsControl {
private static final String PORT_NAME_1 = "COM1";
private static final String PORT_NAME_2 = "COM2";
private SerialPort port1;
private SerialPort port2;
public void init() {
// Open both ports
port1 = new SerialPort(PORT_NAME_1);
port2 = new SerialPort(PORT_NAME_2);
try {
port1.openPort();
port2.openPort();
port1.setParams(9600, 8, 1, 0);
port2.setParams(9600, 8, 1, 0);
} catch (SerialPortException ex) {
ex.printStackTrace();
}
}
public void sendToPort1(String data) {
// Send data to port 1 in a separate thread
new Thread(() -> {
try {
port1.writeBytes(data.getBytes());
} catch (SerialPortException ex) {
ex.printStackTrace();
}
}).start();
}
public void sendToPort2(String data) {
// Send data to port 2 in a separate thread
new Thread(() -> {
try {
port2.writeBytes(data.getBytes());
} catch (SerialPortException ex) {
ex.printStackTrace();
}
}).start();
}
public void close() {
// Close both ports
if (port1 != null) {
try {
port1.closePort();
} catch (SerialPortException ex) {
ex.printStackTrace();
}
}
if (port2 != null) {
try {
port2.closePort();
} catch (SerialPortException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
MultipleSerialPortsControl control = new MultipleSerialPortsControl();
control.init();
control.sendToPort1("Hello from port 1!");
control.sendToPort2("Hello from port 2!");
control.close();
}
}
```
这个示例程序使用了jssc库来进行串口通信。在init方法中,我们打开了两个串口设备,并分别设置了参数。在发送数据时,我们使用了两个线程分别向两个串口设备发送数据,以保证同时控制多个串口设备的功能。同时,在程序关闭时,我们需要关闭两个串口设备。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)