Funciones del terminal ASCII y HEX para el puerto serie.
¿Qué es el formato ASCII y HEX?
Los datos en forma de texto y números se utilizan para programar dispositivos electrónicos. Pero las computadoras no pueden entender el lenguaje humano. Solo pueden entender los datos en forma de 0 y 1. Para hacer que los datos sean comprensibles para la computadora, se utilizan muchos sistemas numéricos. Algunos de ellos son el sistema numérico binario, el sistema numérico octal, el sistema numérico hexadecimal, etc. Para que el texto sea comprensible para las computadoras, se utilizan códigos ASCII. Se utilizan convertidores internos para convertir datos de un formato a otro. La conversión de hexadecimal a ASCII se discute a continuación. Las computadoras se refieren a una tabla de códigos ASCII estándar como referencia.
¿Qué es el formato hexadecimal?
El sistema numérico hexadecimal es un sistema numérico posicional utilizado para representar números. Utiliza dieciséis símbolos para representar los números, de ahí el nombre "HEX". Se utilizan símbolos alfabéticos junto con los numéricos para el sistema numérico hexadecimal. Los símbolos "0-9" se utilizan para representar los números del 0 al 9. Los símbolos "A-F" se utilizan para representar números del diez al quince. La representación hexadecimal de los números requiere cuatro bits decimales para cada dígito.
¿Qué es un código ASCII?
ASCII significa American Standard Code for Information Interchange. Es uno de los hitos del IEEE. Es un estándar de codificación de caracteres para la comunicación electrónica que representa letras y alfabetos en computadoras, dispositivos electrónicos, etc. ASCII se desarrolló en los Estados Unidos y se basó en el código telegráfico. En 1963 se publicó la primera edición del código ASCII. A lo largo de los años, ha sido objeto de varias revisiones, la última en 1986.
El código ASCII se basa en el alfabeto inglés. Tiene 256 códigos de caracteres, que también incluyen 127 caracteres especificados.
El código ASCII se divide en dos conjuntos: el código ASCII estándar y el código ASCII extendido. El código ASCII estándar representa caracteres como 'a' a 'z' y dígitos '0' a '9'. Van desde 0 a 127 en decimal y desde 00 hasta 7F en formato hexadecimal. Estos también se conocen como caracteres imprimibles. El código que va desde 0 a 31 contiene caracteres de control asignados para controlar los dispositivos periféricos y no son imprimibles.
Los códigos ASCII extendidos contienen los símbolos y caracteres que se utilizan principalmente en diferentes idiomas. Van desde 128 hasta 255 en decimal o desde 80 hasta FF en formato hexadecimal. Los códigos extendidos, junto con los códigos de control presentes en el código ASCII estándar, se utilizan para diversos protocolos de comunicación como RS-232, RS-485, RS-422, TTL. Con el paso del tiempo, se han realizado muchas modificaciones en el ASCII para incluir idiomas no ingleses.
¿Por qué son tan importantes el ASCII y el HEX para mostrar en el puerto serie?
La mayoría de las comunicaciones serie se basan en bytes que no siempre son imprimibles. Los caracteres imprimibles van desde el valor HEX 0x20 hasta el valor HEX 0x7F. (
Para tener una mejor idea de los caracteres ASCII imprimibles, consulte esta tabla).
Aquí es donde la impresión en HEX de los bytes es importante durante el uso de la comunicación serie, y SerialTool le permite mostrar simultáneamente bytes ASCII y HEX.
Con la marca de tiempo adecuada para las entradas y salidas seriales, puede identificar rápidamente los bytes recibidos y transmitidos a través del puerto serie.
Esta es una función extremadamente útil cuando desea depurar la comunicación del puerto serie.
Por ejemplo, si está utilizando la función Monitor Serie de Arduino en el IDE de Arduino, no puede ver los bytes entrantes y salientes a menos que cree su propia función "printf".
SerialTool le ayuda en esa tarea sin esfuerzo.
Captura de pantalla del Terminal ASCII y HEX