S
soniczzzz
Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾、小弟我用mscomm接受gps向com1发送的数据,每秒10次。有很多数据的,
其中我想要的数据格式如下:
如果此时和卫星的通讯正常的话,可以接收到的数据格式样如下(2秒更新一次把):
$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E
数据说明如下:
$GPRMC 代表GPS推荐的最短数据
204700 UTC_TIME 24小时制的标准时间,按照小时/分钟/秒的格式
A A 或者 V A表示数据"OK",V表示一个警告
3403.868 LAT 纬度值,精确到小数点前4位,后3位
N LAT_DIR N表示北纬,S表示南纬
11709.432 LON 经度值,精确到小数点前5位,后3位
W LON_DIR W表示西经,E表示东经
如果当前没有和卫星取得联系,那么字符串的格式为:
$GPRMC,UTC_TIME,V,...
下面是一个例子:
$GPRMC,204149,V,,,,,,,170698,,*3A
我已经可以取得这样的数据,每秒去取一次,问题是我每隔几秒就会丢失一个数据,导师
说我去数据之前应该先到缓冲区去找有没有重复数据(时间为标志),如果有就取下一个
但是我不知道如何实现,好像delphi没有2维数据(可能是我不会 :(),向各位求救了
其中我想要的数据格式如下:
如果此时和卫星的通讯正常的话,可以接收到的数据格式样如下(2秒更新一次把):
$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E
数据说明如下:
$GPRMC 代表GPS推荐的最短数据
204700 UTC_TIME 24小时制的标准时间,按照小时/分钟/秒的格式
A A 或者 V A表示数据"OK",V表示一个警告
3403.868 LAT 纬度值,精确到小数点前4位,后3位
N LAT_DIR N表示北纬,S表示南纬
11709.432 LON 经度值,精确到小数点前5位,后3位
W LON_DIR W表示西经,E表示东经
如果当前没有和卫星取得联系,那么字符串的格式为:
$GPRMC,UTC_TIME,V,...
下面是一个例子:
$GPRMC,204149,V,,,,,,,170698,,*3A
我已经可以取得这样的数据,每秒去取一次,问题是我每隔几秒就会丢失一个数据,导师
说我去数据之前应该先到缓冲区去找有没有重复数据(时间为标志),如果有就取下一个
但是我不知道如何实现,好像delphi没有2维数据(可能是我不会 :(),向各位求救了