|
프로그램 한지 일주일 조금 지난 초보입니다.
cport 통신중에 궁금한게 있어서 글을 씁니다.
ㅟ그램을 실행하면 DEBUG INSPECTOR 에서보면
\06 0002 XXXX 0000 DDDD \R\N 이런형식으로 데이터가 들어 옵니다...[공백을 넣은것은 보기편하라고 넣은 것임]
거기서 데이터를 보면 '\06'6[0x06],'0'48[0x30]이렇게 표시돼는데 []안에 들어있는값은 먼가여 아스키코드 값인가여 (음 아스키코드표를 보니 아스키 값은 아닌듯 그냥 16진수 인가...)
여기서 중요한 질문 위데이터에서 보면 XXXX와 DDDD부분은 데이터 값이 변합니다..
현재 필요한 부분은 XXXX값인대 가변이 안되는 부분은 이렇게 표시 해서 잘랐습니다..
ComDataPacket1->StartString.printf("%c", 0x0630303032);// 앞데이터 자르기
ComDataPacket1->StopString.printf("%c", 0x0D0A); // 뒷 데이터 자르기
이렇게 표시하는 것이 옳게 표시된 것인지 궁금하구여
이렇게하면 데이터가 XXXX 0000 DDDD이렇게 표시가 되는대 가변되는 부분은 어떻게 짤라야 하나여 문자를 상수로 변경후 FFFF 0000 0000로 & 마스크 하면 되는 건가여 그럼 데이터가 필요 한 부분만 원상태로 남을거 같은대그다음에 다시뒷데이터를 자르면 될것두 같은대 안되는 군여(코드를 짤수거 없내여). 아니면 간단하게 하는 방법아신다면 알려주십시요..
정리
질문
1. 들어오는 데이터의 형식
2. 데이터의 원하는 부분을 간추리 방법의 옳음 과 간단한 방법이 있는지.
3. 위 데이터를 10진형태의 데이터를 표시 할라면 어뗗게 해야 하는지
(만약 방법들이 있다면 소스도좀 적어주십시여)
고수 님들의 많은 답변을 기다립니다..
|