java - 使用 javaSerial 端口库以字节数组的形式将 'A' 发送到 comm 端口
问题描述
我正在尝试向连接到“COM1”的动臂屏障发送命令,它的波特率 -> 9600,奇偶校验 -> 无,数据位 ->8,停止位 -> 1。我正在尝试以下代码但无法发送命令。请帮我。
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import com.fazecast.jSerialComm.SerialPort;
public class BoomBarrierUsingJavaSCLib {
public static void main(String[] args) {
SerialPort comPort = SerialPort.getCommPorts()[0];
//System.out.println(SerialPort.getCommPorts().length);
comPort.openPort();
comPort.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 100, 0);
comPort.setComPortTimeouts(1000, 1000, 1000);
System.out.println("Written to Comport: "+comPort.writeBytes("A".getBytes(),"A".getBytes().length));
comPort.closePort();
}
}
但我得到以下输出: 写入 Comport:-1 理想情况下,它应该返回写入 comm 端口的字节数。-1 表示没有写入任何内容。
提前致谢。
解决方案
我错过的是,我没有关闭不允许通信端口打开的 bray++ 终端。在写入端口时,有必要检查该端口是否可用。
推荐阅读
- authentication - 如何模拟 U2F/MFA 设备
- javascript - 量角器数据提供者。运行测试时不断跳过第一个数据
- c# - 如何使用 C# 将 Transaction 与多个函数一起使用
- google-bigquery - 是否可以使用服务帐户来安排 BigQuery“安排查询”功能中的查询?
- kubernetes - 谷歌集群中的 Pod 命名
- .htaccess - GET-Request 中的斜杠 (/) 和 htaccess 中的 mod_rewrite 语句
- html - HTML5 表单操作行为
- c# - C# 中的基本碰撞代码 - 未检测到碰撞
- php - 如何检测 mysql 数据库中已更新的字段或列?
- function - 如何编写一个使用尾递归添加列表元素的函数?