Funções do Terminal ASCII e HEX para portas seriais.

O que são os formatos ASCII e HEX?

Dados na forma de texto e números são usados para programar dispositivos eletrônicos. Mas os computadores não podem entender a linguagem humana. Eles só podem entender dados na forma de 0 e 1. Para tornar os dados interpretáveis pelo computador, são usados vários formatos numéricos. Alguns deles são o sistema de numeração binária, sistema de numeração octal, sistema de numeração hexadecimal, etc. Para tornar o texto compreensível para os computadores, são utilizados os códigos ASCII. Conversores internos são usados para converter dados de um formato para outro. A conversão de hexadecimal para ASCII é discutida abaixo. Os computadores fazem referência a uma tabela de códigos ASCII padrão para consulta.

O que é o formato hexadecimal?

O sistema de numeração hexadecimal é um sistema de numeração posicional usado para representar números. Ele utiliza dezesseis símbolos para representar os números, daí o nome "HEX". Os símbolos utilizados no sistema hexadecimal são '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F'. O sistema de numeração hexadecimal utiliza letras como símbolos, juntamente com os numéricos. Os símbolos '0-9' são usados para representar os números de 0 a 9. Os símbolos 'A-F' são usados para representar os números de dez a quinze. A representação hexadecimal dos números requer quatro bits decimais para cada dígito.

O que é um Código ASCII?

ASCII significa "American Standard Code for Information Interchange". É um dos marcos do IEEE. É um padrão de codificação de caracteres para comunicação eletrônica, representação de letras e alfabetos em computadores, dispositivos eletrônicos, etc. O ASCII foi desenvolvido nos EUA, usando o código telegráfico. Em 1963, foi publicada a primeira edição do código ASCII. Ele passou por muitas revisões ao longo dos anos, e a última atualização foi feita em 1986.
O código ASCII é baseado no alfabeto inglês. Ele possui 256 códigos de caracteres, que incluem 127 caracteres especificados.
O código ASCII é dividido em dois conjuntos - código ASCII padrão e código ASCII estendido. O código ASCII padrão representa caracteres como 'a' a 'z' e dígitos '0' a '9'. Eles variam de 0 a 127 em decimal e de 00 a 7F em formato hexadecimal. Eles também são conhecidos como caracteres imprimíveis. O código variando de 0 a 31 contém caracteres de controle atribuídos para controlar os dispositivos periféricos e não são imprimíveis. Os códigos ASCII estendidos contêm os símbolos e caracteres que são principalmente usados em diferentes idiomas. Eles variam de 128 a 255 em decimal ou de 80 a FF em formato hexadecimal. Os códigos estendidos, juntamente com os códigos de controle presentes no código ASCII padrão, são usados para vários protocolos de comunicação, como RS-232, RS-485, RS-422, TTL. Com o passar do tempo, muitas modificações foram feitas no ASCII para incluir idiomas não ingleses.

Por que os códigos ASCII e HEX são tão importantes para exibir nas portas seriais?

A maioria das comunicações seriais é baseada em bytes que nem sempre são caracteres imprimíveis. Os caracteres imprimíveis vão desde o valor HEX 0x20 até o valor HEX 0x7F. ( Para ter uma ideia melhor dos caracteres imprimíveis do ASCII, consulte esta tabela).
Aqui é onde a impressão dos bytes em formato HEX se torna importante ao usar comunicação serial, e o SerialTool permite que você mostre os bytes ASCII e HEX ao mesmo tempo.
Com o carimbo de data e hora apropriado para entrada e saída serial, você pode identificar rapidamente os bytes recebidos e transmitidos através da porta serial. Esta é uma função extremamente útil quando você deseja depurar sua comunicação por porta serial.
Por exemplo, se você estiver usando a função Monitor Serial do Arduino IDE, você não conseguirá ver os bytes de entrada e saída a menos que crie sua própria função "printf".
O SerialTool ajuda você nessa tarefa sem esforço.

Captura de tela do Terminal ASCII e HEX