Чтение данных с COM-порта - PullRequest
       2

Чтение данных с COM-порта

0 голосов
/ 21 января 2012

У меня маленькая проблема. Я пытаюсь прочитать данные с COM-порта, и я получаю «плохие» данные, такие как:

0 Fl- 1 я 2 3 ? 4 м? 5 6 7 8 9 10 ? 11 12 13 д 14 Д 15

Код, который открывает порт:

_port = new SerialPort(Settings.Default.COM, 9600, Parity.None, 8, StopBits.One);
_port.DataReceived += PortDataReceived;
_port.Open();

Код для чтения данных:

private void PortDataReceived(object sender, SerialDataReceivedEventArgs e) 
{
    string s = _port.ReadExisting();
    _reportBuffer = _reportBuffer + s;
    _counter++;
    if (_counter == _messageLength)
    {
        //action
    }
}

Любые идеи приветствуются! Заранее спасибо!

1 Ответ

0 голосов
/ 21 января 2012

Если вы уверены, что данные, которые вы получаете, не соответствуют отправляемым, стоит дважды проверить скорость передачи данных, настройки четности и т. Д.

Если все настроено правильно, но вы все еще не получаете отправляемые данные, используйте эмулятор терминала, чтобы открыть COM-порт. Если вы можете увидеть правильные данные там, то проблема в вашем коде; если вы не можете, проблема в другом.

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