2021-08-23 14:13:17 索煒達(dá)電子 1385
項(xiàng)目編號(hào):E487
文件大?。?K
源碼說明:帶中文注釋
開發(fā)環(huán)境:C編譯器
簡要概述:
GPS NMEA0183協(xié)議簡要解析框架
支持解析 RMC、GGA、VTG、HDT等消息字段信息,由于解析框架比較明了,移植源碼者可自行考慮添加新的解析代碼。
解析方式采用逐個(gè)字段解析的方式,能很大程度上節(jié)省消耗內(nèi)存空間。
重新編寫數(shù)據(jù)轉(zhuǎn)換函數(shù),不依賴外部庫,移植時(shí)一般只需包含NMEA0183.h文件即可。
代碼示例:
char nmea[] =
"$GNRMC,102219.00,A,2239.11578,N,11406.59325,E,0.009,,291018,,,D62\r\n"
"$GNVTG,,T,,M,0.009,N,0.017,K,D37\r\n"
"$GNGGA,102220.00,2239.11583,N,11406.59338,E,2,09,1.30,112.7,M,-2.3,M,,0000*52\r\n";
NMEA0183 nmea0183; unsigned int index = 0;
for(index=0; index<sizeof(nmea); ++index) { if(nmea_decode(&nmea0183, nmea[index])) { ///解析代碼成功 } }
解析成功后得到的數(shù)據(jù)保存在nmea0183.gpsData結(jié)構(gòu)體緩沖區(qū)中。
NMEA0183解析代碼思路來源于開源飛控代碼(Ardupilot),所以該份代碼開源,可免費(fèi)使用。
目錄│文件列表:
└ NMEA0183-C
│ NMEA0183.c
└ NMEA0183.h