java - 使用jserialcomm无法在java中找到串口
问题描述
我想在串口和java之间建立通信,因为我的真实设备还没有到,所以我主要使用互联网上人们建议的socat。
我首先使用此命令为虚拟串行端口运行 socat
socat -d -d pty,raw,echo=0 pty,raw,echo=0
然后我明白了
2018/12/05 05:05:04 socat[2687] N PTY is /dev/pts/4
2018/12/05 05:05:04 socat[2687] N PTY is /dev/pts/5
这意味着我可以使用 /dev/pts/4 和 /dev/pts/5 作为端口(注意:这是由 socat 随机给出的,我不知道为什么)
然后我尝试使用 python 与 /dev/pts/4 进行通信,它工作得很好,然后我使用 java 和 jSerialComm 库我无法连接到 /dev/pts/4,甚至无法列出任何端口。
SerialPort sp=SerialPort.getCommPort("/dev/pts/4");
System.out.println(sp.isOpen());
我的java代码一直返回false。对此我将不胜感激。
谢谢
解决方案
当您这样做时,SerialPort sp=SerialPort.getCommPort("/dev/pts/4");
您将获得控制该端口的对象。但是,在您打开它之前,该端口仍处于关闭状态。这是通过做来完成的sp.openPort();
。然后你会看到当你运行sp.isOpen();
它应该返回true。
如果您需要进一步的帮助,可以在此处找到文档。
推荐阅读
- r - data.table::fread 无法使用 cmd 参数读取数据
- c++ - 在非常量上下文中使用 std::size
- java - 使用 Java 将多个图像转换为灰度
- python-3.x - 高效的二维列表初始化 [python]
- gitlab - 逃脱 ';' 在 Terraform GitLab 环境变量中
- c++ - 检查二叉树的函数是平衡的 C++
- node.js - nodejs收到错误TypeError:无法读取未定义的属性'then'
- python - lxml + django + uwsgi 无法生成正确格式的excel文件?
- html - 使 InputBox 中的部分文本在 Angular 7 中不可编辑
- node.js - Mongoose 错误:发布评论时出现 CastError