Отправка строки и шестнадцатеричного числа в компорт - PullRequest
0 голосов
/ 22 мая 2011

Я пытаюсь отправить строку "QZ1" в компорт; однако руководство приемного устройства требует, чтобы «каждая командная строка, отправляемая получателю, начиналась с {*} (hex 2A) и заканчивалась возвратом каретки {cr} (hex 0D)». Я прошел ряд различных итераций без успеха.

Может ли кто-нибудь помочь мне в направлении записи, чтобы узнать, как лучше всего отправить строку в компорт, предварительно вставив строку с {*} (hex 2A) и заканчивая возвратом каретки {cr} (hex 0D)?

Ответы [ 2 ]

2 голосов
/ 22 мая 2011

Да, это может сбивать с толку то, что при переключении с символов на их шестнадцатеричные представления и обратно. Вот что нужно сделать. Не волнуйтесь, что в доке написано: «Зачеркни это и заговори это». Just

  1. отправить символ '*'
  2. отправить символ 'Q'
  3. отправить символ 'V'
  4. отправить символ '\ r' для возврата каретки

Таким образом, вы должны хранить в C-строке: "* QV \ r" и отправлять с нее.

НТН. Если нет, спросите еще.

0 голосов
/ 22 мая 2011

, поскольку я могу получить, вам нужно только добавить 2 байта к строке, которую вы отправляете для примера. hello изменится на *hello\r обратите внимание, что 2A является шестнадцатеричным для символа ascii * и 0D представляет \ r в charmap

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