проблема чтения последовательного порта Java - PullRequest
0 голосов
/ 11 марта 2009

Я читаю данные с последовательного порта в Java, но я не получаю полные данные, они делятся на десять, это будет получено.

Пример:

Если целевое устройство пишет datas_ok, тогда я получаю datas_ при первом чтении, а затем ok во второй раз.

case SerialPortEvent.DATA_AVAILABLE:

                try {
                    while (inputStream.available() > 0) {
                        numBytes = inputStream.available();
                        readBufferArray = new byte[numBytes];
                        // int readtheBytes = (int) inputStream.skip(2);
                        int readBytes = inputStream.read(readBufferArray);

                        one = new String(readBufferArray);
                        System.out.println("readBytes " + one);

                        handleFlashResponse(one);

                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

Что не так?

1 Ответ

2 голосов
/ 11 марта 2009

Из описания кажется, что вы читаете быстрее, чем отправляются данные. Это нормально. Если вы читаете из порта и там ничего нет, вам нужно продолжать попытки (если нет вызова, который можно сделать для блокирующего чтения).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...