|
HEX값은 문자열이 아니기 때문에.. 특히 시리얼 통신쪽에서는 CString 이나 AnsiString 등의 문자열 클래스를 사용하지 않습니다. 통신패킷에는 NULL(0x00)이 들어올 수 있으므로 이값이 중간에 있게 되면 String 에서는 NULL이후는 인식을 하지 않지요.
보통 BYTE 배열이나 포이터를 사용합니다. char로 해도 상관은 없습니다만 그래도 unsigned char 형의 BYTE 또는 Byte를 사용하는게 좋습니다.
포트로 부터 읽어들인 데이터 길이만큼 memcpy() 사용하여 BYTE 배열 변수에 넣어주면 되고요.
예를들어 Byte Temp[4096]; 이런 변수를 잡아서 사용했다면.
if(Temp[1] == 0x11) 는 당연히 됩니다.
|