我不明白为什么会出现校验和错误

问题描述

我在 Internet 的 pynmea2 库上发现,它使用了 parse(data,check=False) 函数,该函数接受一个包含 NMEA 0183 语句的字符串并返回一个 NMEASentence 对象。

我尝试编写一些简单(非常简单)的代码来理解功能

import pynmea2

def main():

   f = open("file.nmea","r")

   for line in f.readlines():

       msg = pynmea2.parse(line)
       print(str(msg))

所以,我从文件中读取句子并将它们传递给解析函数,但出现错误

Traceback (most recent call last):
  File "/home/maestrutti15/PycharmProjects/prova/main.py",line 13,in <module>
main()
  File "/home/maestrutti15/PycharmProjects/prova/main.py",line 9,in main
msg = pynmea2.parse(str(line))
 File "/home/maestrutti15/PycharmProjects/prova/venv/lib/python3.8/site-packages/pynmea2/nmea.py",line 115,in parse
raise ChecksumError(
     pynmea2.nmea.ChecksumError: ('checksum does not match: 17 != 3B',['121626.10','A','4608.25657','N','01313.38859','E','0.071','270421','V'])

谁能告诉我为什么会出现这个错误?我不明白...如果我写

msg = pynmea2.parse("$GNRMC,121626.15,..) 

通过这种方式,它会打印结果。

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)