CN113886314A - 一种串口gps报文数据的接收及解析方法、系统 - Google Patents
一种串口gps报文数据的接收及解析方法、系统 Download PDFInfo
- Publication number
- CN113886314A CN113886314A CN202111047682.8A CN202111047682A CN113886314A CN 113886314 A CN113886314 A CN 113886314A CN 202111047682 A CN202111047682 A CN 202111047682A CN 113886314 A CN113886314 A CN 113886314A
- Authority
- CN
- China
- Prior art keywords
- serial port
- message
- data
- serial
- gps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012795 verification Methods 0.000 claims description 12
- 238000013524 data verification Methods 0.000 claims description 10
- 239000003550 marker Substances 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 4
- 230000015556 catabolic process Effects 0.000 abstract 1
- 230000006870 function Effects 0.000 description 40
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- CYTYCFOTNPOANT-UHFFFAOYSA-N Perchloroethylene Chemical compound ClC(Cl)=C(Cl)Cl CYTYCFOTNPOANT-UHFFFAOYSA-N 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000012958 reprocessing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/33—Multimode operation in different systems which transmit time stamped messages, e.g. GPS/GLONASS
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
本发明公开了一种串口GPS报文数据的接收及解析方法、系统,方法包括:判断串口回调函数是否接收到串口发出的串口数据到来信号;若串口回调函数接收到串口发出的串口数据到来信号,则读取串口数据并追加到本地字节数组,从本地字节数组中解析报文,更新本地字节数组。在接收串口数据时,采用追加本地字节数组的方式存储报文,不丢弃任何一个字符,保证串口报文的完全接收;对本地字节数组从起始地址开始按有效报文长度剔除拆分得到的含有报文尾的完整GPS报文,避免误丢包现象的发生,实时更新本地字节数组,防止了其溢出导致的程序崩溃;其四,对报文按协议格式长度,而非单字节的方式处理,提高了程序处理效率,适用长度不同的报文。
Description
技术领域
本发明涉及一种串口GPS报文数据的接收及解析方法、系统,属于农业机械辅助驾驶技术领域。
背景技术
字节数组是一种数据类型,可用于存取字符型数据。具有辅助驾驶功能的作业机械一般采用GPS定位,其GPS定位报文数据又采用串口传输方式,但在通讯量大时,经常会出现收不到完整的数据帧,或是在解析时出现丢失有效数据字节的情况。
专利CN111858447A公开了一种从串口接收数据、处理数据帧的方法,包括以下步骤S1:串口初始化,创建串口接收任务、串口读取任务;S2:从串口接收数据后,执行串口中断,串口中断处理时,接收端将串口接收的数据放在消息节点中,并将消息节点的数据发送到接收消息队列中;S3:执行串口接收任务,即不断从接收消息队列中获取消息节点的数据,然后从消息节点中获取到串口接收的数据,并将其添加到环形队列中;S4:执行串口读取任务,即从环形队列中读取串口接收到的数据;并对从环形队列中读取的数据进行组帧。
专利CN111858447A采用的方法,将收到的串口数据发送至消息队列,降低了中断处理耗时,同时也将串口接收数据与数据处理分开,不会造成串口溢出而丢失数据的情况。但是其一,接收串口数据采用消息队列和环形队列的方法导致程序处理上较为复杂。其二,在发送端频发发送数据,或数据量较多的情况下,接收端只是尽可能多的接收到有效数据,降低丢失数据的机率,并不保证数据的完全接收。
专利CN107395565B公开了一种定长单字节格式报文协议下串口接收预处理方法,该方法对单字节头、单字节校验、单字节尾的定长串口数据通信,设计了一种串口数据预处理架构,作用于底层串口数据接收之后,应用层根据协议处理之前,对于符合协议约束的数据,送入报文解析函数接口,对于不符合协议约束的数据,进行逐字节的剔除。若存在剩余不足一帧报文的数据,仍可将其与下一组数据,进行组包后,再次逐字节判别处理。
专利CN107395565B公开了一种定长单字节格式报文协议下串口接收预处理方法,该方法对单字节头、单字节校验、单字节尾的定长串口数据通信,其一,只适用固定长度的数据解析;其二,采用单字节判别处理方式,程序效率不是最优。
发明内容
本发明所要解决的技术问题是克服现有技术的缺陷,提供一种串口GPS报文数据的接收及解析方法,在接收串口数据时,采用追加本地字节数组的方式,保证串口报文的完全接收;对本地字节数组从起始地址开始按有效报文长度拆分、剔除得到的含有完整报文尾的GPS报文,避免误丢包现象的发生。
为达到上述目的,第一方面,本发明提供一种串口GPS报文数据的接收及解析方法,包括:
判断串口回调函数是否接收到串口发出的串口数据到来信号;
若串口回调函数接收到串口发出的串口数据到来信号,则读取串口数据并追加到本地字节数组,从本地字节数组中解析报文,更新本地字节数组。
优先地,若串口回调函数没有接收到串口发出的串口数据到来信号,串口回调函数持续等待;若串口接收到数据,串口立即发送串口数据到来信号给串口回调函数,串口回调函数接收到串口发出的串口数据到来信号。
优先地,读取串口数据并追加到本地字节数组,包括:
串口回调函数读取串口数据a,将串口数据a追加到本地字节数组b;
串口数据a为单个字节、一整串报文或多条报文。
优先地,从本地字节数组中解析报文,更新本地字节数组,包括:
S51:一次性读取全部本地字节数组b的数据;
S52:判断本地字节数组b中是否包含报文尾部标识,若本地字节数组b中包含若干个报文尾部标识,则进入步骤S53;
S53:以报文尾部标识为拆分符,将本地字节数组b拆分得到N个GPS报文cI;定义循环量i为常数,i≤N;
S54:循环解析GPS报文cI,判断i是否小于N,若i小于N,则进入步骤S55;
S55:从本地字节数组b中删除第i条GPS报文cI;
S56:判断GPS报文cI是否包含报文头标志符, GPS报文cI包含报文头标志符,则进入步骤S57;
S57:进行数据校验,若校验成功则进入步骤S58;
S58:按协议分割符将GPS报文cI分割为字符串列表dM,dM包含第i个GPS报文cI的有效数据;
S59:根据不同字符串列表dM的第0位第i个GPS报文cI的类型,得到不同长度类型的GPS数据。
优先地,S52中,判断本地字节数组b中是否包含报文尾部标识,若本地字节数组b中不包含报文尾部标识则返回“判断串口回调函数是否接收到串口发出的串口数据到来信号”步骤;
S54中,循环解析GPS报文cI,判断i是否小于N,若i不小于N,则返回“判断串口回调函数是否接收到串口发出的串口数据到来信号”步骤;
S56中,判断GPS报文cI是否包含报文头标志符,若GPS报文cI不包含报文头标志符,则i数值加1并返回到步骤S54;
S57中,进行数据校验,若校验失败则i数值加1并返回步骤S54。
优先地,在判断串口回调函数是否接收到串口发出的串口数据到来信号之前,初始化串口,注册串口回调函数。
优先地,初始化串口,包括:
自动查找可用串口名称,初始化串口名称、波特率、校验位和停止位,初始化本地字节数组。
优先地,注册串口回调函数,包括:
定义串口回调函数,将串口数据到来信号与串口回调函数关联。
优先地,步骤S57中,进行数据校验,包括:
数据校验采用按位异与的方式,对GPS报文cI进行计算得出计算校验码,读取GPS报文cI中的校验部分得到报文校验码;
判断计算校验码与报文校验码是否相等,若计算校验码与报文校验码相等,则校验成功,若计算校验码与报文校验码不相等则校验失败。
优先地,S55中,从起始地址开始按有效报文长度剔除拆分得到的含有完整报文尾的GPS报文,更新本地字节数组。
第二方面,本发明提供一种串口GPS报文数据的接收及解析系统,包括处理器和存储设备,所述存储设备中存储有多条指令,用于所述处理器加载并执行第一方面所述方法的步骤。
本发明所达到的有益效果:
本发明提供一种串口GPS报文数据的接收及解析方法,其一,在接收串口数据时,采用追加本地字节数组的方式存储报文,不丢弃任何一个字符,保证串口报文的完全接收;其二,对本地字节数组从起始地址开始按有效报文长度剔除拆分得到的含有报文尾部标识的完整GPS报文,避免误丢包现象的发生,其三,实时更新本地字节数组,防止了其溢出导致的程序崩溃;其四,对报文按协议格式长度,而非单字节的方式处理,提高了程序处理效率,适用长度不同的报文。
本发明中本地字节数组的剔除更新,是按照剔除的报文头部标识至报文尾部标识之间的长度,而非固定的长度,所以适合不同长度报文更新。更新后的字节数组还保留有部分报文,待串口数据信号到来时,可继续追加,直到收到新的报文尾部标识,进行下次更新。本发明采用剔除有效报文、保留剩余不完整报文等待再追加的方式,避免了丢包现象的发生。
本发明中若本地字节数组同时含有多个完整的有效GPS报文,则会在一次串口信号到来是循环处理完毕,提高了重新处理效率。
附图说明
图1 为本发明中串口初始化流程图;
图2 为本发明的原理框图;
图3 为本发明中报文分割流程图;
图4 为本发明中报文解析流程图。
具体实施方式
以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
如图1~图4所示,本实施例提供一种串口GPS报文数据的接收及解析方法,包括步骤如下:
S1: 初始化串口;
S2: 注册串口回调函数;
S3: 判断串口回调函数是否接收到串口发出的串口数据到来信号;
S4: 若串口回调函数接收到串口发出的串口数据到来信号,读取串口数据并追加到本地字节数组;
S5: 从本地字节数组中解析报文;
S6: 更新本地字节数组。
进一步地,所述步骤S1中,初始化串口包括:自动查找可用的串口名称,初始化串口名称、波特率、校验位和停止位为默认值,初始化本地字节数组归零。
进一步地,所述步骤S2中,注册串口回调函数包括:定义串口回调函数,将串口数据到来信号与串口回调函数关联。优选的将串口数据到来信号readyRead与串口回调函数slotRecievPortData关联。
进一步地,所述步骤S3中,一旦串口接收到数据,立即发送串口数据到来信号给串口回调函数。
进一步地,所述步骤S4中,若没有接收到串口数据到来信号,串口回调函数处理程序持续等待,一旦串口回调函数接收到串口数据到来信号时立即调用串口回调函数,读取串口数据a,优选的使用readAll函数读取串口中的全部数据,无论是单个字节,还是一整串报文,或是多条报文,均将其追加到本地字节数组b。由于从串口读到的串口数据a,可能是单个字节、多个字节或非完整的GPS报文,所以将读到的串口数据a以追加的方式先组成串,保证了不丢失任何一个字节。采用追加的方式存储报文,保证了报文的完全接收。
示例1,当GPS定位模块向接收串口发送以下类型、长度不一的报文时:
$GNVTG,353.763,T,360.233,M,0.02335,N,0.04324,K,A*3B
$GPRMC,144326.00,A,5107.0017737,N,11402.3291611,W,0.080,323.3,210307,0.0,E,A*20。
串口接收到的报文如下,即包含单个字符也包含多个字符
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""$"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""G"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""N"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""H"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""D"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""T"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19"","
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""178"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""."
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""7236"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19"","
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""T"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""*"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""1"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""5"
GPSSerialPort::slotRecievPortData()181:recievport:"pts/19""\r\n$GPRMC,14432"
…
串口回调函数对收到的字符进行追加,得到的字节数组为:
"$GNHDT,178.7236,T*15\r\n$GPRMC,14432",此时串口收到了一包完整的GNHDT格式的GPS报文和部分非完整的GPRMC格式的GPS报文。
结合图3,所述步骤S5中,从本地字节数组b中解析报文,包括,
S51:一次性全部读取本地字节数组b的数据。
S52:判断本地字节数组b中是否包含报文尾部标识,对符合NEMA协议的GPS报文来说,报文尾部标识为换行符;若本地字节数组b中不包含任何报文尾部标识,则返回到串口回调函数判断是否接收到串口发出的串口数据到来信号,因为此时本地字节数组b的数据不包含完整的有效报文。若本地字节数组b包含报文尾部标识,如示例1,串口回调函数判断字节数组中包括一个标识符"\n",说明本地字节数组b包含完整的GPS报文,则进入S53。
S53:以报文尾部标识为拆分符,拆分字节数组b为N组GPS报文cN。本地字节数组b中可能包含N个报文尾,N大于等于1。对本地字节数组b拆分后,得到N个GPS报文cI。如示例1,串口回调函数判断字节数组中包括N(N=1)一个GPS报文cI。定义循环量i为常数,i≤N。
S54:循环解析GPS报文cI,定义循环量i, 判断i是否小于N,如i不小于N,则说明解析完毕,则返回到串口回调函数判断是否接收到串口发出的串口数据到来信号;否则,进入报文解析循环,到步骤S55。
S55:由于其一:本地字节数组b采用的是追加的方式获取串口数据;其二,GPS报文cI是按报文尾方式拆分得到的,故取出GPS报文cI后,即可从本地字节数组b中删除第i条GPS报文cI,实现更新本地字节数组b,其三,循环处理拆分直到得到的完整报文。对GPS报文cI进行计算得出计算校验码,这一计算步骤属于现有技术,本实施例不再详细阐述过程。
优选的,本地字节数组b从起始地址开始按协议格式长度,而非单字节的方式处理,剔除拆分得到的含有完整报文尾的GPS报文cI,在避免误丢包现象的发生的同时提高了程序处理效率;在解析过程实时更新,防止了其溢出导致的程序崩溃。
如示例1,串口回调函数取出有效GPS报文为:"$GNHDT,178.7236,T*15\r\n"。取出有效报文后的字节数组更新为:"$GPRMC,14432"。
优选的,剔除GPS报文,更新后的字节数组长度变短,不会溢出。
优选的,字节数组的剔除更新,是按照剔除的报文标识头至报文标识尾之间的长度,而非固定的长度,所以适合不同长度报文更新。
优选的,更新后的字节数组还保留有部分报文,待串口数据信号到来时,可继续追加,直到收到新的报文尾,进行下次更新。采用剔除有效报文,保留剩余不完整报文等待再追加的方式,避免了丢包现象的发生。
优选的,若本地字节数组同时含有多个完整的有效GPS报文,则会在一次串口信号到来是循环处理完毕,提高了重新处理效率。
S56:判断GPS报文cI是否包含报文头标志符。符合NEMA协议的GPS报文头标志符一般为“$”,若GPS报文cI不包含,则i数值加1并返回到步骤S54。若包含,
如示例1,串口回调函数取出有效GPS报文为:"$GNHDT,178.7236,T*15\r\n",包含有报文头标识符,则进入步骤S57。
优选的,只要取出的GPS报文cI包含有报文头标识符合报文尾标识符,就可以进行报文解析,而与报文长度无关,所以使用类型、长度不同的报文。
S57:进行数据校验,若校验失败,则i数值加1并返回步骤S54,若校验成功,则进入步骤S58。
优选的,数据校验采用按位异与的方式,对GPS报文cI的数据进行计算得出计算校验码,读取GPS报文cI中的校验部分得到报文校验码,然后比较计算校验码与报文校验码是否相等,若相等,则校验成功;若不相等则校验失败。
S58:按协议分割符分割GPS报文cI为dM。dM为字符串列表,包含第i组GPS报文cI的有效数据。分割符一般为“,”。
S59:根据dM0类型解析报文。根据不同的字符串列表dM的第0位第i组GPS报文的类型GPGGA、GNHDT、GNVTG和GPRMC,得到对应的不同长度类型的GPS数据。
结合图4,报文解析流程,本实施例使用的GPS报文的类型为GPGGA,GNHDT,GNVTG,GPRMC。根据字符串列表dM第0位的值,如果是GPGGA,则按GPGGA协议解析GPGGA数据,如果是GNHDT,则按GNHDT协议解析GNHDT数据,如果是GNVTG,则按GNVTG协议解析GNVTG数据,如果是GPRMC,则按GPRMC协议解析GPRMC数据。
实施例二:
基于实施例一所述的一种串口GPS报文数据的接收及解析方法,本实施例提供一种串口GPS报文数据的接收及解析系统,包括处理器和存储设备,所述存储设备中存储有多条指令,用于所述处理器加载并执行实施例一所述串口GPS报文数据的接收及解析方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (10)
1.一种串口GPS报文数据的接收及解析方法,其特征在于,包括:
判断串口回调函数是否接收到串口发出的串口数据到来信号;
若串口回调函数接收到串口发出的串口数据到来信号,则读取串口数据并追加到本地字节数组,从本地字节数组中解析报文,更新本地字节数组;
其中,从本地字节数组中解析报文,更新本地字节数组,包括:
S51:一次性读取全部本地字节数组b的数据;
S52:判断本地字节数组b中是否包含报文尾部标识,若本地字节数组b中包含若干个报文尾部标识,则进入步骤S53;
S53:以报文尾部标识为拆分符,将本地字节数组b拆分得到N个GPS报文cI;定义循环量i为常数,i≤N;
S54:循环解析GPS报文cI,判断i是否小于N,若i小于N,则进入步骤S55;
S55:从本地字节数组b中删除第i条GPS报文cI;
S56:判断GPS报文cI是否包含报文头标志符, GPS报文cI包含报文头标志符,则进入步骤S57;
S57:进行数据校验,若校验成功则进入步骤S58;
S58:按协议分割符将GPS报文cI分割为字符串列表dM,dM包含第i个GPS报文cI的有效数据;
S59:根据不同字符串列表dM的第0位第i个GPS报文cI的类型,得到不同长度类型的GPS数据。
2.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
若串口回调函数没有接收到串口发出的串口数据到来信号,串口回调函数持续等待;若串口接收到数据,串口立即发送串口数据到来信号给串口回调函数,串口回调函数接收到串口发出的串口数据到来信号。
3.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
读取串口数据并追加到本地字节数组,包括:
串口回调函数读取串口数据a,将串口数据a追加到本地字节数组b;
串口数据a为单个字节、一整串报文或多条报文。
4.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
S52中,判断本地字节数组b中是否包含报文尾部标识,若本地字节数组b中不包含报文尾部标识则返回“判断串口回调函数是否接收到串口发出的串口数据到来信号”步骤;
S54中,循环解析GPS报文cI,判断i是否小于N,若i不小于N,则返回“判断串口回调函数是否接收到串口发出的串口数据到来信号”步骤;
S56中,判断GPS报文cI是否包含报文头标志符,若GPS报文cI不包含报文头标志符,则i数值加1并返回到步骤S54;
S57中,进行数据校验,若校验失败则i数值加1并返回步骤S54。
5.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
在判断串口回调函数是否接收到串口发出的串口数据到来信号之前,初始化串口,注册串口回调函数。
6.根据权利要求5所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
初始化串口,包括:
自动查找可用串口名称,初始化串口名称、波特率、校验位和停止位,初始化本地字节数组。
7.根据权利要求5所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
注册串口回调函数,包括:
定义串口回调函数,将串口数据到来信号与串口回调函数关联。
8.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
步骤S57中,进行数据校验,包括:
数据校验采用按位异与的方式,对GPS报文cI进行计算得出计算校验码,读取GPS报文cI中的校验部分得到报文校验码;
判断计算校验码与报文校验码是否相等,若计算校验码与报文校验码相等,则校验成功,若计算校验码与报文校验码不相等则校验失败。
9.根据权利要求1所述的一种串口GPS报文数据的接收及解析方法,其特征在于,
S55中,从起始地址开始,按有效报文长度剔除拆分得到的含有完整报文尾的GPS报文,更新本地字节数组。
10.一种串口GPS报文数据的接收及解析系统,其特征是,包括处理器和存储设备,所述存储设备中存储有多条指令,用于所述处理器加载并执行权利要求1~9任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047682.8A CN113886314A (zh) | 2021-09-08 | 2021-09-08 | 一种串口gps报文数据的接收及解析方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047682.8A CN113886314A (zh) | 2021-09-08 | 2021-09-08 | 一种串口gps报文数据的接收及解析方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886314A true CN113886314A (zh) | 2022-01-04 |
Family
ID=79008570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047682.8A Pending CN113886314A (zh) | 2021-09-08 | 2021-09-08 | 一种串口gps报文数据的接收及解析方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886314A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666312A (zh) * | 2022-03-29 | 2022-06-24 | 西安热工研究院有限公司 | 称量仪通用数据采集方法、系统、设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991263A (zh) * | 2015-06-29 | 2015-10-21 | 中国电建集团成都勘测设计研究院有限公司 | 进行卫星定位信号解析的方法 |
CN106899452A (zh) * | 2017-02-23 | 2017-06-27 | 江苏徐工信息技术股份有限公司 | 一种基于xm2m协议的消息循环处理的物联网终端调试方法 |
CN107395565A (zh) * | 2017-06-15 | 2017-11-24 | 北京机械设备研究所 | 一种定长单字节格式报文协议下串口接收预处理方法 |
CN110704356A (zh) * | 2019-09-25 | 2020-01-17 | 天津津航计算技术研究所 | 一种通用的解析串口数据方法 |
CN110908949A (zh) * | 2019-09-29 | 2020-03-24 | 中国人民解放军陆军工程大学 | 一种基于slip协议的完整数据帧的接收方法 |
CN111181819A (zh) * | 2019-12-25 | 2020-05-19 | 交控科技股份有限公司 | 一种基于链表结构的接收多字节数据帧的串口通讯方法 |
-
2021
- 2021-09-08 CN CN202111047682.8A patent/CN113886314A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991263A (zh) * | 2015-06-29 | 2015-10-21 | 中国电建集团成都勘测设计研究院有限公司 | 进行卫星定位信号解析的方法 |
CN106899452A (zh) * | 2017-02-23 | 2017-06-27 | 江苏徐工信息技术股份有限公司 | 一种基于xm2m协议的消息循环处理的物联网终端调试方法 |
CN107395565A (zh) * | 2017-06-15 | 2017-11-24 | 北京机械设备研究所 | 一种定长单字节格式报文协议下串口接收预处理方法 |
CN110704356A (zh) * | 2019-09-25 | 2020-01-17 | 天津津航计算技术研究所 | 一种通用的解析串口数据方法 |
CN110908949A (zh) * | 2019-09-29 | 2020-03-24 | 中国人民解放军陆军工程大学 | 一种基于slip协议的完整数据帧的接收方法 |
CN111181819A (zh) * | 2019-12-25 | 2020-05-19 | 交控科技股份有限公司 | 一种基于链表结构的接收多字节数据帧的串口通讯方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666312A (zh) * | 2022-03-29 | 2022-06-24 | 西安热工研究院有限公司 | 称量仪通用数据采集方法、系统、设备及可读存储介质 |
CN114666312B (zh) * | 2022-03-29 | 2024-03-01 | 西安热工研究院有限公司 | 称量仪通用数据采集方法、系统、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111010253B (zh) | 一种基于hinoc协议的himac拆帧系统、方法 | |
CN113886314A (zh) | 一种串口gps报文数据的接收及解析方法、系统 | |
CN111541521B (zh) | 一种数据包长度识别方法及系统 | |
CN112332951B (zh) | 一种以太网帧抢占方法、装置、设备及存储介质 | |
CN113392060A (zh) | 一种通用的串口数据接收处理方法 | |
US20200028709A1 (en) | Method for removing data frame redundancy in network environment, and device and computer program for carrying out same | |
CN109951430B (zh) | 一种数据处理方法及装置 | |
CN115225734A (zh) | 一种报文处理方法和网络设备 | |
CN109728879B (zh) | 串口突发接入应用层slip协议报文同步纠错方法 | |
WO2020029405A1 (zh) | 一种数据发射方法及装置 | |
JPH05160815A (ja) | 連送方式における誤り回復処理方法 | |
CN112565105A (zh) | 一种降低时间敏感帧转发时延的方法、装置及设备 | |
CN115695576B (zh) | 一种兼容tsn帧抢占协议的数据帧转换方法及装置 | |
EP1355479A1 (en) | An apparatus and method for processing information from a telecommunications network | |
US5701303A (en) | Asynchronous time-division multiplex packet transmission link control information transmission method | |
CN114422624A (zh) | 数据接收方法 | |
CN109981548B (zh) | 一种计费消息的解析方法及装置 | |
CN108712394B (zh) | 一种射频识别方法及标签 | |
CN115567099B (zh) | 基于卫星通信的大数据传输方法及装置 | |
CN116261109B (zh) | 一种长短信拼接方法及系统 | |
CN105634988B (zh) | 一种抖动缓存处理方法及装置 | |
CN117527641B (zh) | 数据报文的丢包观测方法、装置、设备及存储介质 | |
CN115766913B (zh) | 电力物联网终端的自动注册方法及系统、设备、存储介质 | |
CN112187754B (zh) | 基于Powerlink的数据包封装、解析方法及数据包结构 | |
CN111314268B (zh) | 一种数据包分析方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220104 |
|
RJ01 | Rejection of invention patent application after publication |