为了向我们的Lego Mindstorms Robot发送直接命令,我们使用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)
即使出现此错误,也会出现机器人的“最终声音”。从现在开始,我们只能通过重新启动计算机来解决此问题。在此之后,整个事情从新的开始。
什么可能导致此错误?有没有办法“清理”端口连接?