2

Я пытаюсь отладить связь с аппаратным устройством через последовательный порт. Аппаратное устройство иногда отправляет информацию, которая не является буквенно-цифровым или пробельным символом. В то время как моя программа на Python видит все непечатаемые символы, которые отправляет устройство, PuTTY не отображает текст, не являющийся буквенно-цифровым и непробельным, пропуская эти символы, как будто он их никогда не получал.

Я пытаюсь использовать PuTTY для чтения и записи информации, поступающей и выходящей из последовательного порта, но, поскольку кажется, что PuTTY отображает только буквенно-цифровые и пробельные символы, мне не хватает информации, которую устройство возвращает мне.

Есть идеи, что я могу сделать, чтобы PuTTY показывал этих персонажей (по мере их появления)?

1 ответ1

3

Попробуйте заставить их обновить PuTTY. Это кажется очень выполнимым: просто создайте собственный набор символов, который определяет большую часть 0x00-0x1F как печатные символы. Или добавьте параметры, которые управляют тем, как он обрабатывает общие управляющие символы, для которых он выполняет действия (CR, LF, BEL, BS, FF (очистить), ^ E (ответная реакция) и т.д.), И необычные управляющие символы, для которых у него нет действий. Для каждого управляющего символа он может отображать символ, выполнять действие или и то, и другое.

Между тем, вы можете получить очень ограниченное использование от PuTTY или использовать что-то еще.

PuTTY 0.69 (20170424) не показывает управляющие символы, кроме случаев, когда в разделе "Перевод", "Удаленный набор символов" вы выбираете "VSCII". Это заставляет PuTTY показывать шесть управляющих символов на экране, но только потому, что VISCII определяет эти шесть как печатные символы. Ctrl+BEFTY ^ отображаются в виде трудно различимых вьетнамских символов ẲẴẪỶỸỴ, а также копируются и вставляются одинаково. С этими символами на экране, если вы затем измените "Перевод" на любой другой набор символов, ẲẴẪỶỸỴ изменится на шесть других символов, которые копируются и вставляются как фактические управляющие коды. Однако вновь полученные управляющие символы возвращаются к тому, что ничего не отображается, и Ctrl+E вызывает ответный ответ (PuTTY действует так, как будто вы ввели "PuTTY").

Ctrl+B displays as "Ẳ"; becomes " ┐", which copies and pastes as ␂[STX][0x02].
Ctrl+E displays as "Ẵ"; becomes "│", which copies and pastes as ␅[ENQ][0x05].
Ctrl+F displays as "Ẫ"; becomes "─", which copies and pastes as ␆[ACK][0x06].
Ctrl+T displays as "Ỷ"; becomes "¶", which copies and pastes as ␔[DC4][0x14]
Ctrl+Y displays as "Ỹ"; becomes "├", which copies and pastes as ␙[EM][0x19].
Ctrl+^ displays as "Ỵ"; becomes " " (whitespace), which copies and pastes as ␞[RS][0x1E].

(Ввод Ctrl+^ не работает.) Они соответствуют кодовой таблице VISCII в Википедии.

RealTerm 2.0.0.70 (20130828) показывает все управляющие символы в виде 2-значных кодов или в виде символов, таких как ␂ [STX], с использованием включенных пользовательских шрифтов. Это цветовые коды локального эха и входящего текста (хорошо). (Сильный красный и желтый.) Старк еще загроможден пользовательским интерфейсом. Для локального эха нажмите "полудуплекс". У него уникальная интерпретация CR: он переходит на исходную позицию, но не переводится на новую строку, пока не войдет персонаж. Новейшая бета-версия выглядит так же.

Tera Term 4.94 (20170228) не показывает управляющие символы. Он даже не регистрирует управляющие символы, на которые он не действует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .