1

我正在尝试使用 Java 中的串行端口通过 Wavecom 的 FXT-009 访问和发送 SMS。我已经尝试从 SerialPort 对象中检索输入和外流,但是当我将“AT”命令写入输出流线程时,我在输入流线程上没有得到任何响应。

调制解调器和命令在基于 Eclipse 的 Wavecom IDE 中运行良好。

4

1 回答 1

0

使用 SerialPortEventListener 实现线程对我有用

@Override
public void serialEvent(SerialPortEvent event) {
        switch(event.getEventType()) {
            case SerialPortEvent.BI:
            case SerialPortEvent.OE:
            case SerialPortEvent.FE:
            case SerialPortEvent.PE:
            case SerialPortEvent.CD:
            case SerialPortEvent.CTS:
            case SerialPortEvent.DSR:
            case SerialPortEvent.RI:
            case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
                break;
            case SerialPortEvent.DATA_AVAILABLE:
                StringBuffer readBuffer = new StringBuffer();
                int c;
                try{

                    while ((c=inputStream.read()) != 10){
                        if(c!=13 && c != 1){
                            readBuffer.append((char) c);
                        }
                    }
                    String scannedInput = readBuffer.toString();

                        /*
                    DO YOUR THING HERE     
                        */  

                } catch (IOException e) {}

                break;
        }
}
于 2012-02-06T15:51:34.957 回答