java.comm连续消息到串口

时间:2013-01-10 15:26:48

标签: serial-port javax.comm

我想得到一些帮助:

我想与使用Java的串行设备进行通信,我已开始使用java.comm包进行一些操作。我的设备应该响应我的消息,我不知道如何实现这一点。在第一条消息之后,它不再起作用。 InputStream无法使用。

调试时我得出了这个简单的案例:

//question no. 1
outputStream.write(first_question);                                                            
outputStream.flush();                    

while (inputStream.available() > 0) {                         
  line = inputStream.read();                        
  System.out.println(line);                                                
}

//question no. 2
outputStream.write(second_question);       
outputStream.flush();

while (inputStream.available() > 0) {                         
   line = this.in.read();                        
   System.out.println(line);  
}

` 感谢您的帮助和建议!

1 个答案:

答案 0 :(得分:0)

如果您使用的是Windows机器,请确保

  1. win32com.dll到目录:jdk1.7.0 / bin
  2. javax.comm.properties到目录:jdk1.7.0 / jre / lib
  3. comm.jar到目录:jdk1.7.0 / lib
  4. 尝试通过在写入端口后使用线程延迟来执行以下代码。

    outputStream.write(first_question);                                                            
    outputStream.flush();
    Thread.sleep(1000);`
    
    byte[] readBuffer = new byte[500];
    
    while (inputStream.available() > 0) { 
    
      int numBytes = inputStream.read(readBuffer);
    
      msg = new String(readBuffer, 0, numBytes);
    
       message += msg;
    
    }
    

    它可以帮到你。