1

为了向我们的 Lego Mindstorms 机器人发送直接命令,我们使用 NXTComm 和 RXTXComm(用于 x64)库。

我们可以多次启动Processing Applet并调用

LegoNXT robot = new LegoNXT(this, "COM6"); // this is a PApplet
robot.motorForward(1, 20); //e.g.

机器人启动时会发出 2 声清晰的声音,PApplet关闭时会发出 1 声声音,我认为这是“机器人已连接”和“机器人已断开连接”的警报。但是,在 4-5 次成功尝试后,总是出现以下错误:

gnu.io.NoSuchPortException
    at gnu.io.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:269)
    at pt.citar.diablu.nxt.protocol.NXTCommBluetoothSerialChannel.openPort(NXTCommBluetoothSerialChannel.java:82)
    at pt.citar.diablu.nxt.protocol.NXTCommBluetoothSerialChannel.<init>(NXTCommBluetoothSerialChannel.java:54)
    at pt.citar.diablu.processing.nxt.LegoNXT.<init>(LegoNXT.java:148)
    at project.FirstTry.setup(FirstTry.java:44)
    at processing.core.PApplet.handleDraw(Unknown Source)
    at processing.core.PApplet.run(Unknown Source)
    at java.lang.Thread.run(Thread.java:722)

即使出现此错误,也会出现机器人的“最终声音”。从现在起,我们只能通过重新启动计算机来解决此问题。在此之后,整个事情从新开始。

什么会导致此错误?有没有办法“清理”端口连接?

4

0 回答 0