dropLin bc1c0f3997 first commit vor 10 Monaten
..
README.md bc1c0f3997 first commit vor 10 Monaten
navdata.c bc1c0f3997 first commit vor 10 Monaten
navdata.h bc1c0f3997 first commit vor 10 Monaten
nmeaparser.c bc1c0f3997 first commit vor 10 Monaten
nmeaparser.h bc1c0f3997 first commit vor 10 Monaten
nmeardr.c bc1c0f3997 first commit vor 10 Monaten
nmeardr.h bc1c0f3997 first commit vor 10 Monaten
nmeatknzr.c bc1c0f3997 first commit vor 10 Monaten
nmeatknzr.h bc1c0f3997 first commit vor 10 Monaten

README.md

NmeaParser

此项目演示如何解析 NMEA 协议。

如何使用

  1. 在源文件中包含“nmeaparser.h”。
  2. 创建一个 nmeaparser:'struct nmea_parser parser[1];'。
  3. 用“nmea_parser_init(解析器)”初始化“解析器”。
  4. 创建导航报表功能:“void my_reporter(结构nav_data *navdata){...}`.
  5. 设置“解析器”的报告功能:“解析器->report_nav_status = my_reporter;”。
  6. 从串行端口或文件读取数据时,使用“nmea_parser_putchar(解析器,c)”逐个字符地将这些数据添加到解析器中。
  7. 当导航数据准备就绪时,“解析器”将触发“my_reporter”功能来报告导航状态。

    Modules

模块 文件 描述
nmea_reader nmeardr.h nmeardr.c 读取 NMEA 数据,包含一个 NMEA 句子。
nmea_tokenizer nmeatknzr.h nmeatknzr.c 将NMEA句子拆分为“令牌”。
parser nmeaparser.h nmeaparser.c 从“令牌”中解析nmea。
nav_data navdata.h navdata.c 导航数据。
  1. 按字符将 NMEA 数据添加到“nmea_reader”。
  2. 如果遇到“\n”,请使用“nmea_tokenizer”拆分“nmea_reader”。
  3. 解析“nmea_tokenizer”,并将结果存储在“nav_data”。中。
  4. 如果遇到“GGA”句子,请打印“nav_data”。

    导航数据

日期和时间

日期和时间以 UTC 为单位。

纬度

以度为单位。

北方为正,南方为负。

经度

以度为单位。

对东方为正,对西方为负。

Satellite 的 PRN 和 SVID

“PRN”是卫星的NO。在NMEA。

“SVID”是卫星数组中的索引。

SVID 范围 星座类型
1-64 GPS
65-96 GLONASS
201-264 Beidou