Какие символы отправляются в Windows HyperTerminal при нажатии клавиши «Ввод»

0

В настоящее время я реализую терминал последовательного соединения в приложении C++ под окнами. Я связывался с моим оборудованием, используя гипертерминал Windows через последовательное соединение.

Например, с помощью HyperTerminal:

> C (then hit Enter)
> Bla bla bla... Answer from the equipment

С моим последовательным подключением на C++:

send("C\n\r");

ничего не случилось. Он просто дожидается "Конец команды".

После небольшого чтения о LF/CR над блоком Джеффа Атвуда, я попытался использовать любые возможные комбинации CR + LF. Ни одна из них не выполняет эту работу.

Поэтому мой вопрос заключается в том, какая последовательность символов HyperTerminal интерпретирует как "ввод вводится, пусть процесс".

Ps: Мое серийное соединение отлично работает, я использую его в обоих направлениях уже несколько раз, с этой стороны проблем нет.

Теги:
ascii
serial-port

1 ответ

3
Лучший ответ

Он по умолчанию эмулирует телетайп, поэтому отправляет возврат каретки (код ASCII 0x0d или '\ r'), когда вы нажимаете клавишу Enter. Клавиатуры больше не имеют ключевого слова, например, телетайпы, поэтому вам нужно нажать Ctrl + J для создания перевода строки (ASCII-код 0x0a или '\n').

Соблюдайте нормальную последовательность, прежде всего, возврат каретки, "\ r\n". Вы можете настроить свой код, если теперь используете send ("C\n\r").

Это было слишком долго, так как я возился с ним, но у меня была конфигурация, чтобы сообщить ему отправить строку или cr + lf, когда вы нажмете Enter.

  • 0
    Спасибо за информацию! Пробую прямо сейчас
  • 0
    В ожидании ответа я что-то реализовал, чтобы увидеть, что я отправляю, и что получает терминал, и когда я отправляю "0x43 | 0x0d | 0x0A", я получаю на другой стороне "0x43 | 0x23 | 0x71 «(ответ от моего оборудования, я думаю). Так что проблема не в гипертерминале. Спасибо за вашу помощь, Ганс! Как это могло привлечь внимание динозавра переполнения стека: p
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню