获得GPS数据的两种方法 1.读串口

本文介绍了获取GPS数据的两种方法,包括读取串口和使用gpsapi函数。读串口涉及打开串口、设置串口状态、读写串口等步骤,需要使用如CreateFile、SetCommState等API函数。通过事件触发的方式可以高效地接收GPS定位信息,提取数据时需要解析如$GPRMC等特定帧格式。
获得GPS数据一般可通过两种方法,读串口及调用gpsapi函数。串口作为硬件设备,不能同时被两个程序占用,gpsapi函数几个应用程序可同时共享端口。
1.读串口
先找出gps使用的串口号,然后直接打开串口,读取串口数据了 串口通信api函数1. 用途:打开串口

  原型:HANDLE CreateFile(LPCTSTR lpFileName,

  DWORD dwDesiredAccess,

  DWORD dwShareMode,

  LPSECURITY_ATTRIBUTES lpSecurityAttributes

 DWORD dwCreationDistribution,

  DWORD dwFlagsAndAttributes,

  HANDLE hTemplateFile);
  参数说明:

  -lpFileName:要打开的文件名称。对串口通信来说就是COM1COM2

  -dwDesiredAccess:读写模式设置。此处应该用GENERIC_READGENERIC_WRITE

  -dwShareMode:串口共享模式。此处不允许其他应用程序共享,应为0

  -lpSecurityAttributes:串口的安全属性,应为0,表示该串口不可被子程序继承。

  -dwCreationDistribution:创建文件的性质,此处为OPEN_EXISTING.

  -dwFlagsAndAttributes:属性及相关标志,这里使用异步方式应该用FILE_FLAG_OVERLAPPED

  -hTemplateFile:此处为0

  操作说明:若文件打开成功,串口即可使用了,该函数返回串口的句柄,以后对串口操作时即可使用该句柄。

  举例:HANDLE hComm;

  hComm=CreateFile("COM1", //串口号

  GENERIC_READ|GENERIC_WRITE, //允许读写0, //通讯设备必须以独占方式打开

  NULL, //无安全属性

  OPEN_EXISTING, //通讯设备已存在FILE_FLAG_OVERLAPPED, //异步I/O 0); //通讯设备不能用模板打开hComm即为函数返回的串口1的句柄。
2 . CloseHandle()

  用途:关闭串口

  原型:BOOL CloseHandle(HANDLE hObjedt)
  参数说明:

  -hObjedt:串口句柄

  操作说明:成功关闭串口时返回true,否则返回false

  举例:CloseHandle(hComm);
3. GetCommState()

  用途:取得串口当前状态

  原型:BOOL GetCommState(HANDLE hFile,LPDCB lpDCB);
  参数说明:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值