Функции терминала ASCII и HEX для последовательных портов.

Что такое ASCII и HEX форматы?

Данные в виде текста и чисел используются для программирования электронных устройств. Однако компьютеры не могут понимать человеческий язык. Они могут понимать только данные в виде 0 и 1. Чтобы данные были интерпретируемы компьютером, используются различные числовые форматы. Некоторые из них: двоичная система счисления, восьмеричная система счисления, шестнадцатеричная система счисления и т. д. Для того чтобы текст был понятен компьютерам, используются коды ASCII. Внутренние преобразователи используются для преобразования данных из одного формата в другой. Ниже обсуждается преобразование из шестнадцатеричной системы в ASCII. Компьютеры используют стандартную таблицу кодов ASCII в качестве справки.

Что такое шестнадцатеричный формат?

Шестнадцатеричная система счисления - это позиционная система счисления, используемая для представления чисел. Она использует шестнадцать символов для представления чисел, отсюда и название «HEX». В шестнадцатеричной системе счисления используются буквы в качестве символов вместе с цифровыми. Символы '0-9' используются для представления чисел от 0 до 9. Символы 'A-F' используются для представления чисел от десяти до пятнадцати. Для представления чисел в шестнадцатеричной системе счисления требуется четыре десятичных бита на каждую цифру.

Что такое код ASCII?

ASCII означает - американский стандартный код для обмена информацией. Это одна из вех IEEE. Это стандарт кодирования символов для электронного обмена информацией, представления букв и алфавитов в компьютерах, электронных устройствах и т. д. ASCII был разработан в США с использованием телеграфного кода. В 1963 году было опубликовано первое издание кода ASCII. За годы было сделано много пересмотров, и последнее обновление было произведено в 1986 году.
Код ASCII основан на английском алфавите. В нем 256 кодов символов, которые включают 127 указанных символов.
Код ASCII разделен на два набора - стандартный код ASCII и расширенный код ASCII. Стандартный код ASCII представляет символы, такие как 'a' до 'z' и цифры '0' до'9 '. Они охватывают диапазон от 0 до 127 в десятичном и от 00 до 7F в шестнадцатеричном формате. Они также известны как печатные символы. Коды в диапазоне от 0 до 31 содержат управляющие символы, назначенные для управления периферийными устройствами и не могут быть напечатаны. Расширенные коды ASCII содержат символы и знаки, которые в основном используются в различных языках. Они охватывают диапазон от 128 до 255 в десятичном или от 80 до FF в шестнадцатеричном формате. Расширенные коды, вместе с кодами управления из стандартного кода ASCII, используются для различных протоколов связи, таких как RS-232, RS-485, RS-422, TTL. С течением времени в код ASCII были внесены многочисленные изменения, чтобы включить не английские языки.

Почему коды ASCII и HEX так важны для отображения в последовательных портах?

Большинство последовательной коммуникации основано на байтах, которые не всегда являются печатаемыми символами. Печатаемые символы находятся в диапазоне значений HEX от 0x20 до 0x7F. ( Чтобы получить лучшее представление о печатаемых символах ASCII, обратитесь к этой таблице).
Вот когда печать байтов в формате HEX становится важной при использовании последовательной коммуникации, и SerialTool позволяет показывать ASCII и HEX байты одновременно.
С помощью соответствующей отметки времени входящих и исходящих данных по последовательному порту вы можете быстро определить полученные и переданные байты. Это чрезвычайно полезная функция, когда вы хотите отлаживать связь по последовательному порту.
Например, если вы используете функцию монитора серийного порта Arduino в среде Arduino IDE, вы не можете видеть входящие и исходящие байты, если не создадите свою собственную функцию "printf".
SerialTool помогает вам справиться с этой задачей без усилий.

Скриншот терминала ASCII и шестнадцатеричного формата