← 返回文章库

NMEA 的逗号、星号和 CRLF,哪些参与 XOR 校验

最后更新 2026-10-23
⏱ 约 6 分钟 🟡 涉接线/强电

校验覆盖起始$或!之后、星号之前的ASCII正文,其中逗号和空字段分隔符都参与。起始符、星号及末尾CRLF不参与,同一正文的每个字节都不能随意删掉。

本文由器赋开物编辑整理,AI 辅助撰写。下面输入是合成对照,用于复算公式或协议规则,没有连接真实设备完成现场验证。

本次具体要判断什么?

本例使用合成定位格式正文生成校验,仅作字节范围演示,不是接收机现场记录。末尾逗号仍在正文中,删除它就会改变XOR,即使屏幕上看起来信息差不多。

先保存可复算的对照输入

打开NMEA 句子校验生成与核对工具,把默认值改为下表场景。文字或字节过长时这里只展示摘要,完整原始输入在附件中。

输入项目 对照值 单位或格式
完整句子或无校验句子 $GPGLL,4916.45,N,12311.12,W,225444,A, 见字段定义

模型或规则得到什么结果?

XOR只覆盖起始$或!之后、星号之前的ASCII正文

结果项目 对照输出 单位
正文XOR校验 1D HEX
带校验的完整句子 $GPGLL,4916.45,N,12311.12,W,225444,A,*1D 按模型解释
输入校验状态 已生成校验 按模型解释

仅核对异或校验,不验证定位状态、字段语义或设备真实性。

下载本例完整输入、输出与核验记录 JSON。64 位整数按字符串保留,未四舍五入的计算值保存在附件;设备、仪器和实际结论栏目留空,不把预测当测量。

怎样核对和排查?

保存未经字段解析重组的原始句子,先定位起始符和星号。按ASCII逐字节异或,对照工具生成值,再核对两位HEX是否保留前导零。若串口工具自动改行结束,明确它是否影响了抓取文本,不把显示格式当原始字节。

哪些做法容易误判?

先split逗号再join可能丢空字段,导致校验错误。对正文做trim也可能移除真实空格;工具只处理已说明的末尾行结束,不应擅自修改正文来凑校验。

什么条件才足以接受结论?

完整原句、校验范围和计算值可复查,已有校验不一致时显示明确状态。格式校验与字段语义分开,不能凭XOR一致证明定位信息真实或有效。

适用范围与相关资料

继续查阅相关原理或其他工具。使用不同工具时先核对输入单位、模型和协议版本,避免把一个场景的结论直接套到另一个场景。

支持$或!起始和可选末尾CRLF,不验证字段语义、定位有效性或完整NMEA语句类型。

依据:u-blox:接收机接口与NMEA格式。实现检查覆盖了独立算例和拒绝路径;工具自身通过测试不能替代你对硬件、SDK版本和业务规则的核验。

继续处理相邻任务

📄 来源 / 自校链接

本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。

内容有错、看不懂、或想看下一期?告诉我们 →

本文为公开资料的学习整理,非亲测。涉接线/花钱/合规的步骤请结合实物与官方最新资料验证,风险自负。见免责声明。

这个页面有问题?

提交时会附带当前页面地址和浏览器信息,帮助我们定位问题。不填联系方式即为匿名。