我目前正在使用 Java 开发一个程序来与 Arduino 模块进行交互。现在在 Windows 中,到目前为止它运行得很好(我收到了我所期望的;我可以处理数据),但是在 Linux 中(在我的例子中是Ubuntu);情况正好相反。我安装了 Arduino 和 rxtx-java 包。
当我尝试使用 Arduino 程序连接到 Arduino 板时,我必须在 ACM 模块上设置一个软链接到某个串行或 USB 模块。例如,
ln -s /dev/ttyACM0 /dev/ttyS99
否则它甚至不会出现在 Arduino 程序的列表中。所以我当时做的是启动串行监视器工具(Ctrl++ Shift)M并将我的启动序列发送给它等待答案。它在那里没有问题(它是二进制数据,所以我无法验证它是否正确,但至少我得到了答案)。
我做的下一件事是尝试对我的程序做同样的事情,所以 Arduino 连接到 PC,软链接设置正确,列出的设备以及我在我的程序中的 PC 中的两个普通 COM 端口,和我尝试连接,但没有成功。
没有错误,没有什么,根本没有董事会的回答。在我等了几分钟后,它仍然没有做任何事情,所以我断开了它与 PC 的连接,然后我得到了一个零字节数组作为答案。
什么可能导致这种问题,我将如何解决它?
感谢您的帮助沃尔克
PS:该程序是一个包含所有库/依赖项的 jar 文件
编辑:硬件是 Arduino UNO Board Model R3,在 Windows 上我使用 Arduino 1.0 对其进行编程