serialPort.addEventListener(new SerialPortEventListener(){
public void  serialEvent(SerialPortEvent event){
//接收代码
}
});本来是可以接受串口数据的,可是添加完监听就不行了
我把添加监听的代码放在一个静态方法里面,打开串口时添加监听,就是接收不到信息怎么回事?

解决方案 »

  1.   

    呀!前辈是你呀,帮我看看是啥问题吧!!我用这个获取串口的数据,没有问题!
    InputStream portIS = new BufferedInputStream(serialPort.getInputStream());
    byte[] readBuffer=new byte[1];
    while(portIS.available()>0){
    int portData = portIS.read(readBuffer);
    ReceivePanel.receiveTA.setText(new String(readBuffer));
    System.out.println ("信息接收成功");
    }
    我是把接收代码放在receiveData()方法里面,“发送信息”按钮的点击事件里面调用该方法,每次发送完后自动接收另一个串口发来的信息可是我加了 serialPort 监听就获取不到了呀
    serialPort.addEventListener(new SerialPortEventListener(){
        public void  serialEvent(SerialPortEvent event){
            //接收代码
        }
    });虽然每次发送的时候都会添加监听,这个是错误的,但这个应该不影响原来的监听
    而且我参考的那个源代码里面也存在着同样的问题,但他却可以获取到串口发送的信息,这个是为什么的?
      

  2.   

    解决了,原来是我漏加了
    serialPort.notifyOnDataAvailable(true);
    信息没有传递到串口监听里!-_-!!!