最初,我使用 Excel/VB 制作了一个 POS 应用程序。一切都运行正常,尤其是与 POS 显示杆的串行通信。下面是我让应用程序进行通信的代码示例:
Function Send2Display(ln1$, Optional ln2$)
On Error GoTo theEnd
Dim ln1Space As Byte, ln2Space As Byte
ln1 = Left(ln1, 20): ln1Space = 20 - Len(ln1)
ln2 = Left(ln2, 20): ln2Space = 20 - Len(ln2)
Open "COM1:" For Output As #1
' Write lines and then set cursor to start
Print #1, ln1; Spc(ln1Space); ln2; Spc(ln2Space)
Print #1, Chr$(&H1B)
theEnd:
Err.Clear: Close #1
End Function
正如我所说,这没问题。不过现在我已将 POS 应用程序移至 RoR,并且必须制作一个 Java 小程序才能与显示杆进行通信。除了以下问题外,该小程序运行良好:
我不知道原因是,但在某个时间点,Java 报告我在向 COM 端口发送数据时使用了“不正确||缺失的函数”。我必须关闭应用程序(网页),然后在设备管理器中禁用 COM1,然后重新启用它。然后当我再次加载网页时,它开始工作。参见这一页用于 Java 代码和 JNLP。
如果 COM 端口对 Web 应用程序没有响应,我可以加载旧的 Excel 文件,它仍然可以工作。我不知道为什么它不适用于 Java 小程序。
答案1
算了,原来我之前安装的显示杆是打印机,而这正是占用 COM1 端口的原因。我把它移除了,到目前为止还没有遇到任何问题。