시리얼 포트 ASCII 및 HEX 터미널 기능
ASCII 및 HEX 형식이란?
텍스트 및 숫자 형태의 데이터는 전자 장치를 프로그래밍하는 데 사용됩니다. 그러나 컴퓨터는 인간의 언어를 이해할 수 없습니다. 그들은 0과 1의 형태로 된 데이터만 이해할 수 있습니다. 컴퓨터에서 데이터를 해석할 수 있도록 여러 숫자 형식이 사용됩니다. 그 중 일부는 이진수 체계, 8진수 체계, 16진수 체계 등입니다. 텍스트를 컴퓨터가 이해할 수 있도록 하려면 ASCII 코드가 사용됩니다. 내부 변환기는 데이터를 한 형식에서 다른 형식으로 변환하는 데 사용됩니다. 16진수에서 ASCII로 변환하는 것에 대해 아래에서 논의됩니다. 컴퓨터는 참조를 위해 표준 ASCII 코드 테이블을 사용합니다.
16진수 형식이란?
16진수 체계는 숫자를 나타내는 데 사용되는 포지션 표기법 체계입니다. 이는 'HEX'라는 이름에서 알 수 있듯이 16개의 기호를 사용하여 숫자를 나타냅니다. 16진수에 사용되는 기호는 '0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F'입니다. 16진수 체계는 숫자와 함께 알파벳을 기호로 사용합니다. '0-9'는 숫자 0-9를 나타내는 데 사용되며, 'A-F'는 열거된 숫자를 나타내기 위해 사용됩니다. 숫자의 16진수 표현에는 각 자릿수마다 네 개의 십진수 비트가 필요합니다.
ASCII 코드란?
ASCII는 정보 교환을 위한 미국 표준 코드(American Standard Code for Information Interchange)의 약자입니다. 이것은 IEEE의 마일스톤 중 하나입니다. 컴퓨터, 전자 기기 등에서 문자와 알파벳을 나타내기 위한 문자 인코딩 표준입니다. ASCII는 전신 부호를 사용하여 미국에서 개발되었습니다. 1963년에 최초의 ASCII 코드 판이 출판되었습니다. 이후로 여러 차례 개정되었으며 최신 업데이트는 1986년에 이루어졌습니다.
ASCII 코드는 영어 알파벳을 기반으로 합니다. 256개의 문자 코드가 있으며 127개의 특정 문자를 포함합니다.
ASCII 코드는 표준 ASCII 코드와 확장 ASCII 코드로 나뉩니다. 표준 ASCII 코드는 'a'에서 'z' 및 '0'에서 '9'까지의 문자를 나타냅니다. 이들은 10진수에서 0-127, 16진수에서 00-7F까지 범위에 해당합니다. 이들은 인쇄 가능한 문자라고도합니다. 0에서 31까지의 코드는 주변 장치를 제어하기 위해 할당된 제어 문자를 포함하고 있으며 인쇄할 수 없습니다.
확장 ASCII 코드에는 주로 다양한 언어에서 사용되는 기호와 문자가 포함되어 있습니다. 이들은 10진수에서 128에서 255까지 또는 16진수에서 80에서 FF까지의 범위에 해당합니다. 확장 코드는 표준 ASCII 코드의 제어 코드와 함께 RS-232, RS-485, RS-422, TTL과 같은 다양한 통신 프로토콜에 사용됩니다. 시간이 흐름에 따라 ASCII에는 비영어 언어를 포함하기 위해 여러 가지 수정이 가해졌습니다.
왜 시리얼 포트에서 ASCII 및 HEX가 중요한가요?
대부분의 시리얼 통신은 항상 인쇄할 수 없는 바이트를 기반으로 합니다. 인쇄 가능한 문자는 HEX 값 0x20에서 HEX 값 0x7F까지입니다. (
ASCII 인쇄 가능한 문자에 대한 더 나은 이해를 얻으려면 이 표를 참조하십시오).
여기서 HEX 바이트 출력이 시리얼 통신 사용 시 중요하게 나타납니다. SerialTool을 사용하면 ASCII 및 HEX 바이트를 동시에 표시할 수 있습니다.
적절한 시리얼 수신 및 송신 타임스탬프와 함께 시리얼 포트를 통해 수신된 및 전송된 바이트를 빠르게 확인할 수 있습니다.
이것은 시리얼 포트 통신을 디버깅하려는 경우 굉장히 유용한 기능입니다.
예를 들어 Arduino IDE의 Arduino Serial Monitor 기능을 사용하는 경우 자체 "printf" 함수를 만들지 않는 한 수신 및 송신 바이트를 볼 수 없습니다.
SerialTool은 그 작업을 쉽게 도와줍니다.
ASCII and Hexadecimal Termnial screenshot