//========================================================================
//TITLE:
// 用GPS模块校准系统时间
//AUTHOR:
// norains
//DATE:
// Friday 04-September-2009
//Environment:
// WINDOWS CE 5.0
//========================================================================
众所周知,大家在使用XP桌面系统的时候,我们可以通过设置时间的属性,让其通过互联网进行校准,这样我们就不会为不准点而烦恼了。但这在大部分车载设备上就行不通,因为它们往往不会带有网络模块,更不用提在大马路上还要随处可见无线网络。
条条大路通罗马。用不了互联网,那我们就用GPS模块的数据咯。做过GPS导航的人应该都不陌生,GPS模块会每隔1秒就会不停地往串口发送数据。其中数据包含的信息可就多了,经度,维度,速度,当然还少不了我们所需要的时间。
本文的主题是时间,所以GPS模块的其它数据就随它去吧,我们只要知道带有$GPRMC标志开头的数据包含时间信息即可。
我们先来看看$GPRMC数据各位代表的意义.
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC时间,hhmmss(时分秒)格式
<2> 数据状态,A=有效,V=无效
<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9节,前面的0也将被传输)
<8> 地面航向(000.0~359.9度,以正北为参考基准,前面的0也将被传输)
<9> UTC日期,ddmmyy(日月年)

本文介绍了如何利用GPS模块来校准车载设备的系统时间,特别是在没有网络连接的情况下。通过解析GPS模块发送的$GPRMC数据,提取UTC时间并转化为SYSTEMTIME结构,从而设置系统时间。
最低0.47元/天 解锁文章
1561

被折叠的 条评论
为什么被折叠?



