2009-10-13 2 views
1

Windows Vista를 실행하는 시스템에 GPS 장치가 연결되어 있습니다.C++을 사용하여 Windows Vista에서 NMEA 문장을 읽는 방법

GPS 장치에서 NMEA 문장을 읽고 화면에 인쇄하고 싶습니다.

다양한 COM 포트에 연결된 다른 장치가있을 수 있으므로 GPS 장치가 연결된 포트를 어떻게 알 수 있습니까? 나는 C++로 응용 프로그램을 개발 중입니다.

Microsoft는 API를 제공합니까?

답변

1

어떤 종류의 포트입니까? 직렬 포트 인 경우 한 번에 하나씩 모든 직렬 포트에 연결 한 다음 NMEA 문자열을 수신 대기하십시오. 받은 포트가 있으면 포트를 사용하고 포트가없는 경우 다음 포트로 이동하십시오.

+0

hmm okie. 빠른 응답을 보내 주셔서 감사합니다. 이 시간 간격을 수정하고 타이머가 만료 된 후에 for 루프를 실행하고 모든 포트를 확인 할 수 있습니까 ?? –

1

사용자에게 포트를 묻는 경향이 있습니다. NMEA는 일반적으로 COM 포트를 통해 ASCII 문자열로 제공됩니다. 블루투스 이전에는 일반적으로 COM1 ~ COM4 였고 90 %는 COM1 또는 COM2였습니다. 블루투스를 통해 연결하는 것이 일반적입니다. COM 포트를 COM20 이상까지 정기적으로 볼 수 있기 때문에 무차별 한 옵션이 느립니다. 모든 포트를 확인하는 데 걸리는 시간은 GPS가 신호를 보내는 빈도 (프롬프트가 필요 없다고 가정)와 타임 아웃에 따라 다릅니다. 검색에 최대 30 초가 걸릴 것으로 예상 할 수 있습니다. 당신이 enumerate the COM ports 일 경우 이것은 훨씬 더 빠를 것입니다. 거의 한 번에 6 개 이상의 활성 포트가있을 것입니다.

1

글쎄, 예전에는 응용 프로그램 사용자에게 적절한 포트를 지정할 권한을주었습니다.) 또는 실제로 모든 포트를 확인하십시오. 형식과 사용 가능한 NMEA 문장 세트는 특정 장치에 따라 다를 수 있습니다. 예를 들어 here 정보를 읽으십시오. 단 문장은 일반 텍스트 여야합니다. (그렇지 않다면 NMEA 형식이 아닙니다. :)

관련 문제