我想在java中使用RxTx通过串口检测设备,并且设备被编程为如果它从计算机收到特定字,它将回复ok并且如果计算机收到ok ...它将停止发送单词和突出显示设备已连接。请帮我。还有一件事......我必须检查每个端口..请您编写一个自动循环通过端口的方法,直到检测到设备。 我的代码即使在无限循环中也只发送一次这个词。 code:
I want to detect the device through serial port using RxTx in java and device is programmed that if it recieves a specific word from computer it will reply "ok" and if the computer receives ok.. it will stop sending the word and highlight that the device is attached. PLEASE HELP ME. and one more thing.. i have to check for every port.. please will you code a method that auto-cycle through the ports till the device is detected. My code sends the word only one time even being in a infinite loop. code:
private void cb1KeyPressed(java.awt.event.KeyEvent evt) { // TODO add your handling code here: try{ l1.setText("Port: "+cb1.getSelectedItem().toString()+" is Selected"); selectedPort = cb1.getSelectedItem().toString();// TODO add your handling code here rs.connect(selectedPort); for(;;) { CommPortSender.send(new ProtocolImpl().getMessage("KITM"));//send message if(pi.rmess().equalsIgnoreCase("OK"))//received message { l1.setText("The Device is attached to: "+selectedPort); CommPortSender.send(new ProtocolImpl().getMessage("OK ACK"));//send message break; } else { rs.disconnect(selectedPort); continue; } } } catch(Exception e){} }推荐答案
static void listPorts() { java.util.Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers(); while ( portEnum.hasMoreElements() ) { CommPortIdentifier portIdentifier = portEnum.nextElement(); System.out.println(portIdentifier.getName() + " - " + getPortTypeName(portIdentifier.getPortType()) ); } } static String getPortTypeName ( int portType ) { switch ( portType ) { case CommPortIdentifier.PORT_I2C: return "I2C"; case CommPortIdentifier.PORT_PARALLEL: return "Parallel"; case CommPortIdentifier.PORT_RAW: return "Raw"; case CommPortIdentifier.PORT_RS485: return "RS485"; case CommPortIdentifier.PORT_SERIAL: return "Serial"; default: return "unknown type"; } }
5分钟的谷歌搜索本来可以告诉你同样的事情。
5 minutes of googling could have told you the same thing.
更多推荐
我想在java中使用RxTx通过串口检测设备
发布评论