问题标签 [jssc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java:我们可以使用条件从串行端口读取超时和不超时吗?
我正在使用 Ingenico 终端进行交易处理。我使用套接字和串行端口与主服务器通信。
套接字和串口相互通信,即串口接收到的任何数据都会立即写入套接字的输出流,而套接字接收到的任何数据都会写入串口。
发生这种对话的顺序是:例如:当套接字向串口发送消息时,串口在一定的毫秒内响应一个ACK,然后串口向套接字发送另一个消息,反之亦然反之亦然。
我需要有一个超时机制来检查 in=receive an ACK 在一定的时间限制(几毫秒)内。为了做到这一点,我使用了 Timer 和 TimerTask。为了做到这一点,我从串行端口有条件地读取。我的问题是这是否可行?我在正确的轨道上吗?
到目前为止的代码:
条件:如果预期的下一条消息是 ACK,那么我对其设置超时。
java - Java - 获取 COM 端口 ID
我正在编写一个 java 程序,现在我有一个包含 COM 端口号的设置文件。如果设备更改 COM 端口号,则必须更改。
这不是很用户友好。因此,我希望能够获得 COM 端口 ID 的列表,并让用户通过其 ID 选择正确的设备。我试过谷歌搜索,但没有多大成功。
通过 ID 我的意思是如果您检查设备管理器:“COM 端口 ID (COM<#>)”。检查下图中带有红色标记的文本:
我尝试了以下库:
- javax.comm - CommPortIdentifier,getPortIdentifiers();
- jssc - SerialPortList.getPortNames();
但是我一直无法确定是否可以获取 COM 端口 ID,因为上述两种方法只是返回 COM 端口的编号。有谁知道获取 COM 端口 ID 的方法?
java - 接收到的字节数组并不总是正确的
我有一个 Arduino 程序,它通过蓝牙向 Java 程序发送一个字节数组。
Java 程序在 JSSC 上接收数据。该数组长 72 个字节(18 个浮点数为 4 个字节)。JSSC 如何识别传输结束,或者知道有一个新的字节数组可用?
在大多数情况下,转移是正确的。但时不时会收到垃圾。
我在这里找到了这个例子。
这 if(event.getEventValue() == 10) 表示换行,但 bytearray 没有换行。
阿杜诺:
Serial.write(字节数组,字节数组的大小);
爪哇:
有谁能够帮我?
最好的问候威利
PS这是我在这个论坛的第一个问题。希望我遵守了规则。
java - Java验证是否已经添加了串口监听器
如何验证Java中是否已经添加了串口监听,这样".removeEventListener()"
就不会产生异常:
jssc.SerialPortException:端口名称 - COM4;方法名称 - removeEventListener(); 异常类型 - 无法删除事件侦听器,因为未添加侦听器。
谢谢你的帮助
java - 在树莓派上使用 jssc 的奇怪结果
我有一个使用 USB 串行电缆 HL-340 连接到串行端口设备的树莓派(pl-2303 也经过测试)
该设备需要1 个字节的命令,并应以2 个字节回复(好的,这是一个非常简单的设备和非常容易学习的协议 :))
我的代码:
和回调代码:
结果非常奇怪且不可预测:(我希望设备的回复只有 2 个字节,但串行端口会通知我更多可供读取的数据:
或者
或者
什么是问题?我应该更改哪些端口设置?
java - java中方法和监听器之间的同步执行
假设我必须连续写入 10 次串行端口。
或者:
而且我有一个串行端口事件侦听器,每次我向它写入内容时都会触发它,并调用.map()方法。
我怎样才能让方法等到 serialEvent 收到东西?
- 这就是我到目前为止使用java.util.concurrent.Semaphore处理这个问题的方式:
前任:
在串行侦听器上:
但我不确定这是否是正确的解决方案。谢谢。
java - java - jssc无法使用事件侦听器从串行端口读取
我正在尝试将字节序列发送到串行端口,但我无法从端口本身读取回复。我正在使用 Realterm 发送相同的消息来处理串行端口并接收回复。我也在用 Eltima 的串口监视器进行监控,写操作成功,但我什么也读不出来。
我正在使用 JFrame 接口,并声明了一个名为 SerialDevice 的单独类,它将串行端口作为属性及其方法(取自 jssc)实现。
串口应使用 57600,8 位数据,1 位停止位和 RTS。
似乎 RXCHAR() 事件永远不会发生......
下面的代码是按钮鼠标点击动作的一部分
请帮我找出为什么没有事件发生
java - java jssc调制解调器发送消息
我正在尝试使用基于SIM900的蜂窝调制解调器从 Java/Netbeans 发送短信。使用 TeraTerm,我验证我可以使用带有基本 AT 命令的调制解调器发送消息。下面的代码尝试使用jssc
来发送消息。
我没有收到错误,并且数据似乎已写入调制解调器,但我从未收到短信。对于电话号码,我尝试了使用+
和不使用。
在 TeraTerm 中,数字必须没有+
才能工作。已经尝试了许多变体,并且使用了许多变体.println
。仍然没有进展。
我希望有人能看到我的方式的错误。
提前致谢。道格
at-command - 如何将数据从 SIM800 系列发送到 Java 中的 REST API
我正在做一个项目,我必须创建一个 API,该 API 将通过 http 接收从 sim 卡发送的数据。为此,我正在尝试实现一个可以模拟该过程的程序,以便我可以从我的 java 程序执行 AT 命令并最终进行 HTTP Post 或 Get 到 REST API。为此,我将使用已通过 USB 或蓝牙连接到笔记本电脑的手机。
我对这个编程领域很陌生。你能帮我解决这个问题吗?
我自己,我尝试使用 Java Communications(但这在 64 位窗口上不起作用)、超级终端和 ATCommand 测试器。
java - 如何在java中重置繁忙的串口
我正在开发一个将通过 USB/串行端口与外部 pin-pad 通信的应用程序。
有时我面临的问题是操作未正确完成,我的密码键盘卡在未完成的事务中,我无法开始新的事务。
我在这里寻找的是一种杀死所有串行端口连接并在java代码或外部脚本中重新启动它们的方法,当我得到“繁忙的端口异常”时,可以从我的代码中调用。
- 我使用 JSSC 进行串行通信。