늦었지만 정말 감사드립니다.
덕분에 문자열 전송에 관한 문제를 깔끔하게 해결했습니다.
추석 연휴 풍성하고 편안하시길 기원합니다.
감사합니다.
정성훈.해미 님이 쓰신 글 :
: 포멧 연산자 %c때문입니다.
: 아스키 변환 포멧이라
: %c는 0 ~ 127(0x7F) 까지만 기능합니다
:
: 시리얼 포트 콤포넌트는 대부분 바이너리 정송도 가능하니
: 그 함수를 이용하세요
:
: CPortA->Write(데이터, 데이터 크기);
:
: 예)
: unsigned char SendData[] = { 0x80, 0x81, 0x82, 0x83 };
: CPortA->Write(SendData, sizeof(SendData));
:
:
:
: gongdori 님이 쓰신 글 :
: : 안녕하세요.
: :
: : 통신 프로그램을 작성하다가 안되는 부분이 있어서 문의드립니다.
: :
: : CPORT로 UART 통신을 하는 중에 HEXA 코드를 그대로 전송해야 할 상황이 생겼습니다.
: : 아스키코드를 전송할 때는 전혀 문제가 없었는데 헥사코드를 전송하려고 하다보니 문제가 생겨 문의드립니다.
: :
: : 시험해보니 0x00~0x7F까지 전송하는데는 전혀 문제가 없습니다.
: : 그런데 0x80~0xFF까지 전송하려고 하니 전혀 엉뚱한 코드가 전송됩니다.
: :
: : 그래서 방법을 문의드립니다.
: :
: : 제가 전송하는 코드는 아래와 같은 형태를 사용합니다.
: :
: : AnsiString S1;
: : S1.sprintf("%c%c%c%c", 0x80,0x81,0x82,0x83);
: : CPortA->WriteStr(S1);
: :
: : 조언부탁드립니다.
: :
: : 감사합니다.
: :
|