WinCE6.0已经集成了GPS Driver,同时系统提供了GPSAPI,组件名 称GPSID(GPS Intermediate Driver),GPS的NMEA数据解析、提取GPS定位和卫星信息等内容都由GPSID来完成,应用程序只要调用 GPSOpenDevice(),GPSCloseDevice(),GPSGetPosition(),GPSGetDeviceState()这几个 函数就可以获取足够的GPS信息。定制OS时只需要添加相应组件、实现COM驱动、注册表中添加相应GPSID的设置信息。同时GPSID使用了GPS的 COM端口后还会虚拟出另外一个COM口,供其它一些GPS方面的软件使用,且可以多个软件同时打开这个虚拟的端口,十分好用。
具体实现方法:
(原创内容,转载请注明出处:http://www.pro-embedded.com/thread-105-1-1.html)
1、GPSID是基于标准的COM口获取GPS数据的,所以硬件上GPS模块要与UART连接,系统驱动要实现相应UART的COM驱动。
2、添加组件GPS Intermediate Driver。
3、platform.reg中添加如下信息。
其中:GPS Intermediate Driver下的CurrentLogFile、OldLogFile、MaxLogFileSize是GPSID的LOG,文件中会存储获取到的原始NMEA数据,不需要LOG信息时可以将这段去掉。
GPS Intermediate Driver\Drivers项下的CurrentDriver的内容要与后边的GPS Intermediate Driver\Drivers\GPSCOM相对应,GPSID首先读取CurrentDriver的值,然后再去获取CurrentDriver指定的 项中的设置信息,所以如果两者不一致就无法获取信息,加载失败。
InterfaceType项指定与COMM形式读取数据,同时还有File和Poll,COMM较为常用,以下的设置也都是基于COMM的。
CommPort指定连接GPS模块的COM端口,根据自己的COM驱动设置,要带冒号,此处我用的是COM1。下边是一些键值从字面上也能看得出来是COM的波特率等设置,根据GPS模块的实际情况设定,此处不需要详细解释。
GPS Intermediate Driver\Multiplexer项下的DriverInterface是虚拟出的COM端口,此处我用的是COM2,用其它GPS软件测试可以正常使用。
---------------------------
本站内容如未注明“转载”分类则为站内用户原创,未经作者允许商业网站不得转载,普通网站及用户转载时需保留文章原版内容且注明出处!
文章来源: 普嵌嵌入式 | 原文地址: http://www.pro-embedded.com/thread-105-1-1.html
1、本博客所发表的文章除非标有“转载”否则均为作者原创,商业网站未经作者允许不得转载,个人转载时请保留文章的全部内容以及注明文章出处,尊重他人的劳动成果的同时也是在尊重自己的劳动成果。
2、本人经常活动于普嵌嵌入式开发网,网站www.pro-embedded.com,欢迎大家关注,有什么问题也可以到网站论坛交流。
浙公网安备 33010602011771号