使用Rxtx库向USB连接的手机发送消息会导致计算机锁定/崩溃 - 为什么?

时间:2011-04-04 21:49:04

标签: java rxtx

最终我想使用Java程序从我通过USB插入的手机发送和接收消息。我可以使用C#程序执行此操作,但是我想要发送和接收消息的程序是用Java编写的。为此,我使用Rxtx库(但使用来自Cloudhopper的Windows x64编译版本)。但每当我尝试通过USB向手机发送任何命令时,我的计算机完全锁定,我必须重新启动它。

我正在运行的代码在这里:Two way communication with the serial port。我认为它成功建立了一个链接,因为它进入了接受来自控制台的输入的阶段,但是当我按下回车键并且输入被发送时,计算机就锁定了。

我使用Eclipse运行Windows 7 x64。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

从代码中有点难以辨别,但这里有一些调试技巧:

  • 尝试逐行使用调试器逐步执行代码,然后单步进入库本身以查看是否可以找到问题。
  • 尝试以编程方式发送字符代码,而不是从控制台读取/写入。控制台与直接访问的操作方式完全不同。即,而不是System.in.read())只是尝试传入一个已知良好的字符串。
  • 请记住,Java在内部使用UCS-16,但该控制台通常使用不同的字符编码(例如Windows的cp1252)。因此,您的“输入”可能与系统期望的完全不同。如果您的设备需要ASCII 13并且您的键盘正在生成ASCII 12,那么这可能足以让人感到困惑。
  • 崩溃使得本机库很可能发生了一些事情。如果您发现Java调试不断使您进入JNI边界,则可能需要使用C / C ++工具集进行调试。
祝你好运!