0

我想得到一些帮助:

我想用 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);  
}

` 感谢您的帮助和建议!

4

1 回答 1

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

并尝试通过在写入端口后使用线程延迟来执行以下代码。

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;

}

它可以帮助你。

于 2013-08-23T08:21:43.183 回答