System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据处理,具体而言,涉及一种确定数据帧的方法、装置、存储介质和计算机设备。
技术介绍
1、在串口通信领域,数据帧的稳健处理对于确保信息的可靠传输至关重要。传统的串口通信中,一些实现方案仅使用固定的帧头和帧尾标志,通过检测这些标志来识别数据帧的开始和结束。简单的标志检测方法缺乏灵活性,无法应对复杂的通信环境。
2、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本专利技术实施例提供了一种确定数据帧的方法、装置、存储介质和计算机设备,以至少解决相关技术中对数据帧的检测方法缺乏灵活性的技术问题。
2、根据本专利技术实施例的一个方面,提供了一种确定数据帧的方法,包括:基于串口传输数据的次序,依次接收字符;将依次接收的字符分别与预先自定义的帧头进行匹配,确定目标帧头,并存入缓冲区;将排在目标帧头之后的字符与预先自定义的帧尾进行匹配,确定目标帧尾,并存入缓冲区;在缓冲区中,将目标帧头和目标帧尾之间的字符进行组合,得到目标数据帧。
3、可选地,在缓冲区中,将目标帧头和目标帧尾之间的字符进行组合,得到目标数据帧,包括:在缓冲区中,确定目标帧头与目标帧尾之间的字符数,作为目标数据帧的数据长度;在数据长度符合预定条件的情况下,将目标帧头和目标帧尾之间的字符组合,作为目标数据帧。
4、可选地,在数据长度符合预定条件的情况下,将目标帧头和目标帧尾之间的字符组合,作为目标数据帧,包括:在缓冲区中,从目标帧头至目标帧尾的字符存入预先
5、可选地,在缓冲区中,确定目标帧头与目标帧尾之间的字符数,作为目标数据帧的数据长度,包括:在缓冲区中设置计数器;采用计数器记录读取目标帧头之后的字符数;在确定目标帧尾之后,停止计数器计数;将计数器记录的数字作为目标数据帧的数据长度。
6、可选地,该方法还包括:在计数器的数字超过预定阈值的情况下,确定数据长度不符合预定条件;将缓冲区中记录的字符以及输入至缓冲区的字符作为错误数据帧输出,直至确定目标帧尾,并将数据帧的帧尾输出。
7、可选地,将依次接收的字符分别与预先自定义的帧头进行匹配,确定目标帧头,并存入缓冲区,包括:将依次接收的多个连续字符与自定义的帧头包括的多个帧头字符匹配;在多个连续字符与多个帧头字符匹配的情况下,确定多个连续字符为目标帧头;将目标帧头存入缓冲区。
8、可选地,该方法还包括:在多个连续字符的首个字符与多个帧头字符的首个字符匹配,且多个连续字符与多个帧头字符不匹配的情况下,确定帧头检测失败;生成帧头检测失败信息,其中,帧头检测失败信息包括多个连续字符;显示帧头检测失败信息。
9、根据本专利技术实施例的另一方面,还提供了一种确定数据帧的装置,包括:接收模块,用于基于串口传输数据的次序,依次接收字符;帧头确定模块,用于将依次接收的字符分别与预先自定义的帧头进行匹配,确定目标帧头,并存入缓冲区;帧尾确定模块,用于将排在目标帧头之后的字符与预先自定义的帧尾进行匹配,确定目标帧尾,并存入缓冲区;数据帧确定模块,用于在缓冲区中,将目标帧头和目标帧尾之间的字符进行组合,得到目标数据帧。
10、根据本专利技术实施例的又一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行上述中任意一项确定数据帧的方法。
11、根据本专利技术实施例的再一方面,还提供了一种计算机设备,计算机设备包括处理器,处理器用于运行程序,其中,程序运行时执行上述中任意一项确定数据帧的方法。
12、根据本专利技术实施例的再一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现本申请各个实施例中确定数据帧的方法的步骤。
13、在本专利技术实施例中,采用自定义帧头和帧尾的方式,通过基于串口传输数据的次序,依次接收字符;将依次接收的字符分别与预先自定义的帧头进行匹配,确定目标帧头,并存入缓冲区;将排在目标帧头之后的字符与预先自定义的帧尾进行匹配,确定目标帧尾,并存入缓冲区;在缓冲区中,将目标帧头和目标帧尾之间的字符进行组合,得到目标数据帧,达到了可以灵活根据自定义帧头和帧尾的确定数据帧目的,从而实现了提高数据帧的检测方法的灵活性的技术效果,进而解决了相关技术中对数据帧的检测方法缺乏灵活性的技术问题。
本文档来自技高网...【技术保护点】
1.一种确定数据帧的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述缓冲区中,将所述目标帧头和所述目标帧尾之间的字符进行组合,得到目标数据帧,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述数据长度符合预定条件的情况下,将所述目标帧头和所述目标帧尾之间的字符组合,作为所述目标数据帧,包括:
4.根据权利要求2所述的方法,其特征在于,所述在所述缓冲区中,确定所述目标帧头与所述目标帧尾之间的字符数,作为所述目标数据帧的数据长度,包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,所述将依次接收的所述字符分别与预先自定义的帧头进行匹配,确定目标帧头,并存入缓冲区,包括:
7.根据权利要求6所述的方法,其特征在于,还包括:
8.一种确定数据帧的装置,其特征在于,包括:
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利
10.一种计算机设备,其特征在于,包括:存储器和处理器,
11.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被处理器执行权利要求1至7中任意一项所述确定数据帧的方法。
...【技术特征摘要】
1.一种确定数据帧的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述在所述缓冲区中,将所述目标帧头和所述目标帧尾之间的字符进行组合,得到目标数据帧,包括:
3.根据权利要求2所述的方法,其特征在于,所述在所述数据长度符合预定条件的情况下,将所述目标帧头和所述目标帧尾之间的字符组合,作为所述目标数据帧,包括:
4.根据权利要求2所述的方法,其特征在于,所述在所述缓冲区中,确定所述目标帧头与所述目标帧尾之间的字符数,作为所述目标数据帧的数据长度,包括:
5.根据权利要求4所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特...
【专利技术属性】
技术研发人员:沈海龙,张锐,
申请(专利权)人:北京钢铁侠科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。