2013-06-06 2 views
1

GPS가 USB0에 연결되어 있고 모든 것을 완벽하게 읽을 수 있지만 지금은 데이터를 기록하려고합니다. 16 진수 데이터를 보내고받는 것으로 작동합니다. 데이터를 GPS로 보내려고했습니다. 포트에 0xB6 0x62를 보내고 싶다면 C++에서 어떻게 할 수 있을까요? 옳고 그름 사람이 내가 파일 기술자 fd에 포트를 열어 나에게 물론16 진수 데이터를 직렬 포트로 보냅니 까?

int main() 
{ 
    unsigned char bytestosend[2] = {0xB5, 0x62}; 

    write(fd,&bytestosend,2); 
} 

도움이 될 수 나는 이것을 사용하지만 난 내가 weatehr 모른다.

+0

정확히 "16 진수"데이터를 어떻게 받습니까? 'B5'는'0xB5' 또는''B5''입니까? – MSalters

답변

1

기본적으로 GPS가 실제로 16 진수 바이트를 읽으면 주어진 일을하는 것입니다. 그러나 문자열로 인코딩 된 16 진수 값을 읽을 수도 있으므로 꼭 확인하십시오. 그래서 당신이 말한대로, 당신이 올바르게 쓰고 있다고 말하고 싶습니다.

직렬 포트를 여는 방법은 말하지 않지만 termios를 사용하고 연결을 올바르게 설정해야합니다. 그렇지 않으면 문제가 발생할 수 있습니다. 표준 파일처럼 포트를 열지 않아야합니다. 아직 해보지 않았다면 this을 읽으십시오!

관련 문제