CN110958024A - 一种串口数据编码方法、装置、嵌入式设备及通信系统 - Google Patents

一种串口数据编码方法、装置、嵌入式设备及通信系统 Download PDF

Info

Publication number
CN110958024A
CN110958024A CN201911285150.0A CN201911285150A CN110958024A CN 110958024 A CN110958024 A CN 110958024A CN 201911285150 A CN201911285150 A CN 201911285150A CN 110958024 A CN110958024 A CN 110958024A
Authority
CN
China
Prior art keywords
data
split
serial port
coded
transmission data
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.)
Granted
Application number
CN201911285150.0A
Other languages
English (en)
Other versions
CN110958024B (zh
Inventor
牛洪芳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autel Robotics Co Ltd
Original Assignee
Autel Robotics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Autel Robotics Co Ltd filed Critical Autel Robotics Co Ltd
Priority to CN201911285150.0A priority Critical patent/CN110958024B/zh
Publication of CN110958024A publication Critical patent/CN110958024A/zh
Priority to PCT/CN2020/132317 priority patent/WO2021115142A1/zh
Application granted granted Critical
Publication of CN110958024B publication Critical patent/CN110958024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0002Serial port, e.g. RS232C

Abstract

本发明实施例涉及编码通信领域,公开了一种串口数据编码方法、装置、嵌入式设备及通信系统。其中,串口数据编码方法包括:获取串口数据;将目标报文格式段的串口数据转换为预设进制的串口编码数据;判断串口编码数据是否小于或等于预设进制的第一预设数值;若是,则将串口编码数据加上预设进制的第二预设数值获得编码传输数据,以使编码传输数据不包含字符型数据;若否,则将串口编码数据拆分成均小于或等于第一预设数值的第一拆分数据和第二拆分数据,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使其均不包含字符型数据。本发明实施例提升了设备通信的可靠性。

Description

一种串口数据编码方法、装置、嵌入式设备及通信系统
技术领域
本发明涉及编码通信领域,特别是涉及一种串口数据编码方法、装置、嵌入式设备及通信系统。
背景技术
当源设备发送的串口数据为通信数据时,其内容包括L i nux调试指令消息,该部分消息会被目的设备的底层截取,使到达目的设备的应用层的串口数据不完整,导致了设备通信异常。
发明内容
本发明实施例旨在提供一种串口数据编码方法、装置、嵌入式设备及通信系统,其能够提升设备通信的可靠性。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供了一种串口数据编码方法,包括:
获取串口数据,所述串口数据包括至少一个报文格式段;
将目标报文格式段的串口数据转换为预设进制的串口编码数据;
判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值;
若是,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据;
若否,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
在一些实施例中,当所述预设进制为16进制时,所述将目标报文格式段的串口数据转换为预设进制的串口编码数据,包括:
利用BCD码对目标报文格式段的所述串口数据进行编码;
将编码后的所述串口编码数据转换为16进制的串口编码数据。
在一些实施例中,所述报文格式段包括帧头段、消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段;所述目标报文格式段包括消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
在一些实施例中,所述第一预设数值为0x9999,所述第二预设数值为0x30。
在一些实施例中,所述将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据,包括:
将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据,以使所述编码传输数据不包含字符型数据。
在一些实施例中,所述方法还包括:
将所述编码传输数据通过串口发送。
在一些实施例中,所述分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据,包括:
将所述第一拆分数据和所述第二拆分数据的每一字节分别加上16进制的0x30获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
在一些实施例中,所述方法还包括:
将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
第二方面,本发明实施例提供了一种串口数据编码装置,包括:
获取模块,用于获取串口数据,所述串口数据包括至少一个报文格式段;
转换模块,用于将目标报文格式段的串口数据转换为预设进制的串口编码数据;
判断模块,用于判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值;
第一编码模块,用于若所述串口编码数据小于或等于所述预设进制的第一预设数值,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据;
第二编码模块,用于若所述串口编码数据大于所述预设进制的第一预设数值,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
在一些实施例中,所述装置还包括:
第一发送模块,用于将所述编码传输数据通过串口发送。
在一些实施例中,所述装置还包括:
第二发送模块,将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
第三方面,本发明实施例提供了一种嵌入式设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
第四方面,本发明实施例提供了一种通信系统,包括:
至少两个如上所述的嵌入式设备;
上位机,与所述嵌入式设备通信连接。
第五方面,本发明实施例还提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机能够执行如上所述的方法。
本发明实施例的有益效果是:区别于现有技术的情况下,本发明实施例提供的一种串口数据编码方法、装置、嵌入式设备及通信系统,通过获取串口数据,将目标报文格式段的串口数据转换为预设进制的串口编码数据,判断串口编码数据是否小于或等于预设进制的第一预设数值,若是,则将串口编码数据加上预设进制的第二预设数值获得编码传输数据,以使编码传输数据不包含字符型数据,若否,则将串口编码数据拆分成第一拆分数据和第二拆分数据,第一拆分数据和第二拆分数据均小于或等于第一预设数值,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使第一拆分编码传输数据和第二拆分编码传输数据均不包含字符型数据。因此,本发明实施例通过使编码传输数据、第一拆分编码传输数据以及第二拆分编码传输数据不包含字符型数据,从而使到达目的设备的应用层的串口数据完整,提升了设备通信的可靠性。
另外,通过判断串口编码数据是否小于或等于预设进制的第一预设数值,若是,则将串口编码数据加上预设进制的第二预设数值获得编码传输数据,若否,则将串口编码数据拆分成第一拆分数据和第二拆分数据,第一拆分数据和第二拆分数据均小于或等于第一预设数值,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,从而限制了编码传输数据、第一拆分编码传输数据以及第二拆分编码传输数据的大小,避免产生数据溢出,使到达目的设备的应用层的串口数据正确,进一步提升了设备通信的可靠性。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种通信系统的结构示意图;
图2是本发明实施例提供的一种串口数据编码方法的流程示意图;
图3是本发明另一实施例提供的一种串口数据编码方法的流程示意图;
图4是本发明实施例提供的一种串口数据编码装置的装置示意图;
图5是本发明又一实施例提供的一种串口数据编码装置的装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明实施例提供一种嵌入式设备,所述嵌入式设备包括至少一个处理器以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如下述方法实施例所述的串口数据编码方法。
可以理解,所述嵌入式设备是指包括嵌入式系统的装置或设备。嵌入式系统是一种嵌入受控器件内部,为特定应用而设计的专用计算机系统,为控制、监视或辅助设备、机器或用于工厂运作的设备。与个人计算机等通用的计算机系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。
其中,嵌入式系统上运行有嵌入式操作系统。所述嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到嵌入式系统所要求的功能。目前在嵌入式领域广泛使用的操作系统有:嵌入式实时操作系统C/OS-II、嵌入式Linux、Windows Embedded、VxWorks等,以及应用在智能手机和平板电脑的Android、iOS等。
其中,所述处理器和所述存储器可以通过总线或者其他方式连接。
所述存储器作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的串口数据编码方法对应的程序指令/模块(例如,附图4或附图5所示的各个模块)。所述处理器通过运行存储在存储器中的非易失性软件程序、指令以及模块,从而执行下述方法实施例所述的串口数据编码方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据下述装置实施例所述的串口数据编码装置的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至串口数据编码装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个处理器执行时,执行下述任意方法实施例中的串口数据编码方法,例如,执行附图2或附图3所示的方法步骤,实现附图4或附图5中的各模块和各单元的功能。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种嵌入式设备,通过执行下述方法实施例中的串口数据编码方法,提升了设备通信的可靠性。
请参阅图1,为本发明实施例提供的一种通信系统的结构示意图。如图1所示,所述通信系统100包括至少两个如上面描述的嵌入式设备和上位机20,所述上位机20与所述嵌入式设备通信连接。
以两个嵌入式设备为例,所述至少两个所述嵌入式设备包括嵌入式设备A和嵌入式设备B。其中,所述嵌入式设备A、所述嵌入式设备B以及所述上位机20均包括至少一个串口,所述串口用于设备通信。
进一步的,以所述嵌入式设备A为目的设备、所述嵌入式设备B为源设备,所述上位机20为调试设备为例,当所述嵌入式设备A与所述嵌入式设备B进行数据通信时,禁止所述上位机20的串口功能,所述嵌入式设备A的串口接收所述嵌入式设备B发送的串口数据;当所述上位机20对所述嵌入式设备A进行调试时,禁止所述嵌入式设备B的串口功能,所述嵌入式设备A的串口接收所述上位机20发送的调试指令消息。
具体的,当所述嵌入式设备A运行嵌入式操作系统,表示所述嵌入式设备A开启数据通信功能,则触发禁止所述上位机20的串口功能;当所述嵌入式设备A接收到所述上位机20的调试请求,则触发禁止其余嵌入式设备(所述嵌入式设备B)的串口功能,使所述嵌入式设备A接收所述上位机20发送的调试指令消息。因此,通过在两个设备进行串口数据通信时,禁止其余设备的串口功能,避免了其余设备的干扰,提升了设备通信的可靠性。
本发明实施例提供了一种通信系统,通过在嵌入式设备中运行下述方法实施例中的串口数据编码方法,提升了设备通信的可靠性。
请参阅图2,为本发明实施例提供的一种串口数据编码方法的流程示意图。如图2所示,所述串口数据编码方法包括:
S10:获取串口数据,所述串口数据包括至少一个报文格式段。
如前所述,所述串口数据编码方法可应用于任意两个互相通信的嵌入式设备。在一些实施例中,在所述获取串口数据之前,所述方法还包括:接收通信请求;根据所述通信请求,返回应答消息,以建立源设备和目的设备的通信连接;接收成功应答消息,禁止接收其余设备的通信请求。因此,确保了在任意一个通信过程中,有且仅有两个通信设备对象,避免了其余设备的干扰。
其中,所述串口数据为嵌入式源设备的待发送数据,所述串口数据的报文格式段包括帧头段、消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
请参阅表1,为本实施例提供的其中一种串口数据的报文格式。如表1所示,所述串口数据的帧头段包括1个字节,帧头为所述串口数据的起始字节,以0xFD开始;所述串口数据的消息指令段包括1个字节,消息指令表示这一帧串口数据具体是做什么;所述串口数据的源设备段包括1个字节,源设备表示所述串口数据的源设备的IP地址;所述串口数据的目的设备段包括1个字节,目的设备表示所述串口数据的目的设备的IP地址;所述串口数据的帧序号段包括1个字节,每发送一帧串口数据,帧序号加1,并且在0x00-0xFF之间循环;所述串口数据的内容长度段包括2个字节,内容长度表示这一帧串口数据实际长度;所述串口数据的内容段包括N个字节,其中N≥1,内容表示所述串口数据所携带的数据;所述串口数据的校验码段包括1个字节,校验码表示所述串口数据从消息指令开始到内容结束的所有字节的校验和。
Figure BDA0002317778660000081
表1
可以理解,从消息指令到校验码的字节不固定,不限于表1所公开的具体字节长度。所述串口数据的报文格式不限于本实施例所公开的具体报文格式,可根据所述串口数据所基于的通信协议变化。
S20:将目标报文格式段的串口数据转换为预设进制的串口编码数据。
当所述预设进制为16进制时,所述将目标报文格式段的串口数据转换为预设进制的串口编码数据,包括:利用BCD码对目标报文格式段的所述串口数据进行编码;将编码后的所述串口编码数据转换为16进制的串口编码数据。所述目标报文格式段包括消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
由于从消息指令到校验码随机组合就可能出现调试消息指令,例如,’cd’、’mkdir’、’*#$&,/’等,故而,需要对消息指令到校验码中的字节进行编码,使通过串口发送的串口数据不包括调试消息指令包含的字符型数据,使正常通信的串口数据区别于上位机发送的调试指令消息,避免通过串口发送的串口数据中的部分数据被当作调试指令消息而被截取,导致通信数据不完整的问题。
S30:判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值。
S40:若是,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据。
其中,所述第一预设数值为0x9999,所述第二预设数值为0x30。
所述将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据,包括:将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据,以使所述编码传输数据不包含字符型数据。
可以理解,16进制的所述串口编码数据的内容中的0x00-0x2F,对应的ASCII码包括了空格、回车、换行、’*#$&,/’等符号,这些都是调试指令消息。若在原始协议的基础上直接增加0x30,可以避免出现这些符号,但数据内容若大于0xCF,加上0x30之后必大于0xFF,导致数据溢出而内容出错。故而,在所述将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据之前,需判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值,若所述串口编码数据小于或等于所述预设进制的第一预设数值,所述串口编码数据的每一字节分别加上16进制的0x30之后均不超过0xFF,则所述编码传输数据不会溢出出错,在目的设备解码所述编码传输数据,可以完整还原所述串口数据。
对于不超过9999的数据,其对应的所述串口编码数据小于0x9999,将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据,所述编码传输数据的范围变成了0x30~0xc9c9,避免了小于0x30的数据对应的ASCII码并且不产生数据溢出,编码后的所述编码传输数据如表2所示。
Figure BDA0002317778660000101
表2
请一并参阅图3,在一些实施例中,所述将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据之后,所述方法还包括:
S60:将所述编码传输数据通过串口发送。
S50:若否,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
所述分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据,包括:将所述第一拆分数据和所述第二拆分数据的每一字节分别加上16进制的0x30获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
在一些实施例中,所述分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据之后,所述方法还包括:
S70:将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
可以理解,在目的设备对所述第一拆分编码传输数据和所述第二拆分编码传输数据进行解码之后,合并解码之后的所述第一拆分编码传输数据和所述第二拆分编码传输数据,可以完整还原所述串口数据。
本发明实施例提供了一种串口数据编码方法,通过获取串口数据,将目标报文格式段的串口数据转换为预设进制的串口编码数据,判断串口编码数据是否小于或等于预设进制的第一预设数值,若是,则将串口编码数据加上预设进制的第二预设数值获得编码传输数据,以使编码传输数据不包含字符型数据,若否,则将串口编码数据拆分成第一拆分数据和第二拆分数据,第一拆分数据和第二拆分数据均小于或等于第一预设数值,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使第一拆分编码传输数据和第二拆分编码传输数据均不包含字符型数据,因此,本发明实施例通过使编码传输数据、第一拆分编码传输数据以及第二拆分编码传输数据不包含字符型数据,从而使到达目的设备的应用层的串口数据完整,提升了设备通信的可靠性。
另外,通过判断串口编码数据是否小于或等于预设进制的第一预设数值,若是,则将串口编码数据加上预设进制的第二预设数值获得编码传输数据,若否,则将串口编码数据拆分成第一拆分数据和第二拆分数据,第一拆分数据和第二拆分数据均小于或等于第一预设数值,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,从而限制了编码传输数据、第一拆分编码传输数据以及第二拆分编码传输数据的大小,避免产生数据溢出,使到达目的设备的应用层的串口数据正确,进一步提升了设备通信的可靠性。
请参阅图4,为本发明实施例提供的一种串口数据编码装置的装置示意图。如图4所示,所述串口数据编码装置400包括获取模块401、转换模块402、判断模块403、第一编码模块404以及第二编码模块405。
所述获取模块401用于获取串口数据,所述串口数据包括至少一个报文格式段。
其中,所述报文格式段包括帧头段、消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
所述转换模块402用于将目标报文格式段的串口数据转换为预设进制的串口编码数据。
其中,所述目标报文格式段包括消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
请一并参阅图5,当所述预设进制为16进制时,所述转换模块402包括第一编码单元4021和转换单元4022。
第一编码单元4021用于利用BCD码对目标报文格式段的所述串口数据进行编码。所述转换单元4022用于将编码后的所述串口编码数据转换为16进制的串口编码数据。
所述判断模块403用于判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值。
所述第一编码模块404用于若所述串口编码数据小于或等于所述预设进制的第一预设数值,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据。
其中,所述第一预设数值为0x9999,所述第二预设数值为0x30。
所述第一编码模块404包括第二编码单元4041,所述第二编码单元4041用于将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据,以使所述编码传输数据不包含字符型数据。
所述第二编码模块405用于若所述串口编码数据大于所述预设进制的第一预设数值,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
所述第二编码模块405包括拆分单元4051和第三编码单元4052。
所述拆分单元4051用于将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值。
所述第三编码单元4052用于将所述第一拆分数据和所述第二拆分数据的每一字节分别加上16进制的0x30获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据中均不包含字符型数据。
请再次参阅图5,所述串口数据编码装置500包括上述实施例所述的串口数据编码装置400,相同之处请参阅上述各个实施例,在此不一一赘述。区别在于,所述串口数据编码装置500还包括第一发送模块501和第二发送模块502。
所述第一发送模块501用于将所述编码传输数据通过串口发送。
所述第二发送模块502将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
值得说明的是,上述装置内的模块之间的信息交互、执行过程等内容,由于与本发明的方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供一种串口数据编码装置,通过获取模块获取串口数据,转换模块将目标报文格式段的串口数据转换为预设进制的串口编码数据,判断模块判断串口编码数据是否小于或等于预设进制的第一预设数值,若串口编码数据小于或等于预设进制的第一预设数值,第一编码模块将所述串口编码数据加上预设进制的第二预设数值获得编码传输数据,以使编码传输数据不包含字符型数据,若串口编码数据大于预设进制的第一预设数值,第二编码模块将串口编码数据拆分成第一拆分数据和第二拆分数据,第一拆分数据和第二拆分数据均小于或等于第一预设数值,分别将第一拆分数据和第二拆分数据加上预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使第一拆分编码传输数据和第二拆分编码传输数据均不包含字符型数据。因此,本发明实施例提升了设备通信的可靠性。
本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的附图2或附图3的方法步骤,实现附图4或附图5中的各模块和各单元的功能。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的串口数据编码方法,例如,执行以上描述的附图2或附图3的方法步骤,实现附图4或附图5中的各模块和各单元的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (14)

1.一种串口数据编码方法,其特征在于,包括:
获取串口数据,所述串口数据包括至少一个报文格式段;
将目标报文格式段的串口数据转换为预设进制的串口编码数据;
判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值;
若是,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据;
若否,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
2.根据权利要求1所述的方法,其特征在于,当所述预设进制为16进制时,所述将目标报文格式段的串口数据转换为预设进制的串口编码数据,包括:
利用BCD码对目标报文格式段的所述串口数据进行编码;
将编码后的所述串口编码数据转换为16进制的串口编码数据。
3.根据权利要求1或2所述的方法,其特征在于,所述报文格式段包括帧头段、消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段;所述目标报文格式段包括消息指令段、源设备段、目的设备段、帧序号段、内容长度段、内容段以及校验码段。
4.根据权利要求2所述的方法,其特征在于,所述第一预设数值为0x9999,所述第二预设数值为0x30。
5.根据权利要求4所述的方法,其特征在于,所述将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据,包括:
将所述串口编码数据的每一字节分别加上16进制的0x30获得编码传输数据,以使所述编码传输数据不包含字符型数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
将所述编码传输数据通过串口发送。
7.根据权利要求4所述的方法,其特征在于,所述分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据,包括:
将所述第一拆分数据和所述第二拆分数据的每一字节分别加上16进制的0x30获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
9.一种串口数据编码装置,其特征在于,包括:
获取模块,用于获取串口数据,所述串口数据包括至少一个报文格式段;
转换模块,用于将目标报文格式段的串口数据转换为预设进制的串口编码数据;
判断模块,用于判断所述串口编码数据是否小于或等于所述预设进制的第一预设数值;
第一编码模块,用于若所述串口编码数据小于或等于所述预设进制的第一预设数值,则将所述串口编码数据加上所述预设进制的第二预设数值获得编码传输数据,以使所述编码传输数据不包含字符型数据;
第二编码模块,用于若所述串口编码数据大于所述预设进制的第一预设数值,则将所述串口编码数据拆分成第一拆分数据和第二拆分数据,所述第一拆分数据和所述第二拆分数据均小于或等于所述第一预设数值,分别将所述第一拆分数据和所述第二拆分数据加上所述预设进制的第二预设数值获得第一拆分编码传输数据和第二拆分编码传输数据,以使所述第一拆分编码传输数据和所述第二拆分编码传输数据均不包含字符型数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一发送模块,用于将所述编码传输数据通过串口发送。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第二发送模块,将所述第一拆分编码传输数据和所述第二拆分编码传输数据通过串口发送。
12.一种嵌入式设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-8任一项所述的方法。
13.一种通信系统,其特征在于,包括:
至少两个如权利要求12所述的嵌入式设备;
上位机,与所述嵌入式设备通信连接。
14.一种非易失性计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机能够执行如权利要求1-8任一项所述的方法。
CN201911285150.0A 2019-12-13 2019-12-13 一种串口数据编码方法、装置、嵌入式设备及通信系统 Active CN110958024B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911285150.0A CN110958024B (zh) 2019-12-13 2019-12-13 一种串口数据编码方法、装置、嵌入式设备及通信系统
PCT/CN2020/132317 WO2021115142A1 (zh) 2019-12-13 2020-11-27 一种串口数据编码方法、装置、嵌入式设备及通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911285150.0A CN110958024B (zh) 2019-12-13 2019-12-13 一种串口数据编码方法、装置、嵌入式设备及通信系统

Publications (2)

Publication Number Publication Date
CN110958024A true CN110958024A (zh) 2020-04-03
CN110958024B CN110958024B (zh) 2024-01-19

Family

ID=69981667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911285150.0A Active CN110958024B (zh) 2019-12-13 2019-12-13 一种串口数据编码方法、装置、嵌入式设备及通信系统

Country Status (2)

Country Link
CN (1) CN110958024B (zh)
WO (1) WO2021115142A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112861475A (zh) * 2020-11-03 2021-05-28 深圳市和讯华谷信息技术有限公司 编码、解码处理方法、装置、设备及存储介质
WO2021115142A1 (zh) * 2019-12-13 2021-06-17 深圳市道通智能航空技术股份有限公司 一种串口数据编码方法、装置、嵌入式设备及通信系统
CN113099271A (zh) * 2021-04-08 2021-07-09 天津天地伟业智能安全防范科技有限公司 视频辅助信息的编码、解码方法及电子设备
CN113162803A (zh) * 2021-04-15 2021-07-23 浪潮思科网络科技有限公司 一种基于二分法的串口控制方法、设备及介质
CN114189554A (zh) * 2021-11-17 2022-03-15 中国兵器工业计算机应用技术研究所 信息交互方法、装置及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450232A (zh) * 2014-08-28 2016-03-30 华为技术有限公司 编码、解码方法以及编码装置和解码装置
CN105634674A (zh) * 2016-01-12 2016-06-01 青岛海信移动通信技术股份有限公司 一种短信处理的方法及装置
CN109739821A (zh) * 2018-12-18 2019-05-10 中国科学院计算机网络信息中心 日志数据分层存储方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100568192C (zh) * 2007-06-20 2009-12-09 中兴通讯股份有限公司 一种获取串行接口输入数据的方法
CN105701053B (zh) * 2014-11-24 2020-01-17 中兴通讯股份有限公司 串行数据发送、接收方法及装置
CN105591716B (zh) * 2014-12-26 2018-10-09 青岛海信日立空调系统有限公司 一种基于单载波的串行数据通信方法、装置及系统
CN105005059A (zh) * 2015-06-26 2015-10-28 泰斗微电子科技有限公司 一种原始观测量数据在android终端中的传输方法及相应的终端
CN110097606B (zh) * 2018-01-29 2023-07-07 微软技术许可有限责任公司 面部合成
CN109376108A (zh) * 2018-10-18 2019-02-22 郑州云海信息技术有限公司 基于串口通信的数据传输方法、设备、发送端及接收端
CN110958024B (zh) * 2019-12-13 2024-01-19 深圳市道通智能航空技术股份有限公司 一种串口数据编码方法、装置、嵌入式设备及通信系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450232A (zh) * 2014-08-28 2016-03-30 华为技术有限公司 编码、解码方法以及编码装置和解码装置
CN105634674A (zh) * 2016-01-12 2016-06-01 青岛海信移动通信技术股份有限公司 一种短信处理的方法及装置
CN109739821A (zh) * 2018-12-18 2019-05-10 中国科学院计算机网络信息中心 日志数据分层存储方法、装置及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021115142A1 (zh) * 2019-12-13 2021-06-17 深圳市道通智能航空技术股份有限公司 一种串口数据编码方法、装置、嵌入式设备及通信系统
CN112861475A (zh) * 2020-11-03 2021-05-28 深圳市和讯华谷信息技术有限公司 编码、解码处理方法、装置、设备及存储介质
CN113099271A (zh) * 2021-04-08 2021-07-09 天津天地伟业智能安全防范科技有限公司 视频辅助信息的编码、解码方法及电子设备
CN113162803A (zh) * 2021-04-15 2021-07-23 浪潮思科网络科技有限公司 一种基于二分法的串口控制方法、设备及介质
CN113162803B (zh) * 2021-04-15 2022-12-23 浪潮思科网络科技有限公司 一种基于二分法的串口控制方法、设备及介质
CN114189554A (zh) * 2021-11-17 2022-03-15 中国兵器工业计算机应用技术研究所 信息交互方法、装置及可读存储介质
CN114189554B (zh) * 2021-11-17 2023-09-15 中国兵器工业计算机应用技术研究所 信息交互方法、装置及可读存储介质

Also Published As

Publication number Publication date
WO2021115142A1 (zh) 2021-06-17
CN110958024B (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
CN110958024A (zh) 一种串口数据编码方法、装置、嵌入式设备及通信系统
RU2523964C2 (ru) Способ межпроцессного взаимодействия между разными приложениями в мобильном терминале и соответствующее устройство
CN109496418B (zh) 文件下载方法、装置及设备/终端/服务器
CN109428773B (zh) 一种通信方法和装置
CN108363588B (zh) 实现web与原生功能交互的方法、电子装置及可读存储介质
CN110308880B (zh) 日志打印方法、系统、计算机设备及计算机可读存储介质
CN111245930A (zh) 跨平台消息推送方法、装置、计算机设备及存储介质
CN114461415A (zh) 消息数据处理方法、装置、计算机设备及存储介质
CN113645308B (zh) 移动终端tcp通信、装置、设备及存储介质
CN112818270B (zh) 数据跨域传递方法、装置及计算机设备
CN108170537B (zh) 游戏api实现方法、装置、接口服务器及可读存储介质
CN109032612B (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN108965108B (zh) 一种消息推送方法及相关设备
CN108965295B (zh) 一种文件压缩合并方法及相关装置
US10740218B2 (en) Method and device for determining usage log
US20190364134A1 (en) Data processing method and apparatus for client
CN108021459B (zh) 跨进程发送打点日志的方法及装置
CN112861475A (zh) 编码、解码处理方法、装置、设备及存储介质
CN108509329B (zh) 对客户端上执行的操作进行验证的方法及装置
CN113515325A (zh) 一种命令字通讯模式的软件系统扩展插件应用方法
CN106506561A (zh) 一种流媒体传输方法及装置
CN106713453B (zh) 一种应用信息监控方法和装置
CN112416619A (zh) 一种接口配置方法、设备、终端及存储介质
CN107315951B (zh) 一种程序安装包反拦截方法及装置
CN111010366A (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
CB02 Change of applicant information

Address after: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1

Applicant after: Shenzhen daotong intelligent Aviation Technology Co.,Ltd.

Address before: 518055 Guangdong city of Shenzhen province Nanshan District Xili Street Xueyuan Road No. 1001 Chi Yuen Building 9 layer B1

Applicant before: AUTEL ROBOTICS Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant