日期:2014-05-20  浏览次数:20725 次

如何处理串口接收超时
java串口有自己的接收函数,但是在发送之后等待确认很不方便,所以我使用了这样的方法,   try   {
                                                outputStream   =   serialPort.getOutputStream();
                                                inputStream   =   serialPort.getInputStream();
                                                br=new   BufferedReader(new   InputStreamReader(inputStream)   );
                                       
                                                outputStream.write(messageString.getBytes());
                                              System.out.print(br.readLine());
                                        }   catch   (IOException   e)   {}
来处理接收后的数据,但也带来了一个死等的问题,串口没收到数据就会死等下去,这对程序来说是致命的,我想它能过两三程自动跳出.有没有办法.

------解决方案--------------------
你自己定义个超时时间,如果在这个时间内没有回复就认为是超时。
然后就跳出。大部分都是这个套路吧。
------解决方案--------------------
做通信时最好使用线程,这样就不怕等待了。
http://www.programmerstudy.com/programme/java/20084/97.html