반응형
사실 공학하는 사람은 한글을 잘 다루지 않는다.
본인도 프로그래밍은 오래 했지만 한글을 다루거나, 어려움이 없었다.
그냥 잘되니까....
사실 우물안에 살다 보니 그런것이다.
보통사람들은 우물안에 산다고 했을때 하수 아닌가?
이런 생각도 하술 있지만, 전혀 아니다.
그만큼 프로그래밍의 영역이 방대하기 떄문이다.
잡담은 그만하고 본론에 들어가서 아두이노의 작년 버전만해도 한글이 출력되지 않았다.
안되었다기 보다는 조치를 취해죠야 되었다는 표현이 정확하였다.
그런데 최신버전은 한글을 그냥 잘 지원해 준다.
아두이노 끼리 시리얼 전송으로 전송해도 잘가고 다른 시리얼 소프트웨어 putty나 테라템에도 잘 전달이 된다.
그래서 딱히 모르고 살아도 문제는 없다.
왜...? 같은 우물에 살고 있기 떄문이다.
정확하게 표현하면 한글중에 UTF-8을 사용하고 있기 떄문이다.
UTF8이 생소하게 들리겠지만 일단 한글의 한종류로 보자.
그러면 우물밖의 세상은 꼭 UTF-8이라는 보장이 없다.
그래서 한글이 이상한 외계어 처럼 깨져서 보이는것이다.
이번 주제는 어렵지 않게 기초만 다루고 다음주제에서 좀더 깊숙이 들어가자.
결국 최종목적은 한글의 표현이다.
LCD의 영문자만 표현했다면 이제 한글도 표현해 보자.
그러기에 다른 사람들이 만든 소스를 카피해서 붙이는 수준을 넘어 조금 더 이론을 공부하자.
void setup()
{
Serial.begin (9600);
char str1[100];
char str2[100];
strcpy(str1 ,"Hello world!\r\n");
strcpy(str2 ,"대한민국");
Serial.println(str1);
Serial.println(str2);
}
void loop()
{
char str1[100];
char str2[100];
strcpy(str1 ,"각");
strcpy(str2 ,"ㄱ");
Serial.println(str1);
Serial.println(str1[0],HEX);
Serial.println(str1[1],HEX);
Serial.println(str1[2],HEX);
Serial.println(str1[3],HEX);
Serial.println(strlen(str1));
Serial.println();
Serial.println(str2);
Serial.println(str2[0],HEX);
Serial.println(str2[1],HEX);
Serial.println(str2[2],HEX);
Serial.println(str2[3],HEX);
Serial.println(strlen(str2));
Serial.println("---------------------------");
delay (10000);
}
|
'아두이노' 카테고리의 다른 글
아두이노와 한글 -#3 (0) | 2020.10.19 |
---|---|
아두이노와 한글 -#2 (0) | 2020.10.19 |
아두이노와 미분방정식 (0) | 2020.10.08 |
아두이노와 가변인자 #3 (0) | 2020.09.29 |
아두이노와 가변인자 #2 (0) | 2020.09.29 |
댓글