CN116383117A - 串口通信方法、装置、设备、介质和程序产品 - Google Patents

串口通信方法、装置、设备、介质和程序产品 Download PDF

Info

Publication number
CN116383117A
CN116383117A CN202211680200.7A CN202211680200A CN116383117A CN 116383117 A CN116383117 A CN 116383117A CN 202211680200 A CN202211680200 A CN 202211680200A CN 116383117 A CN116383117 A CN 116383117A
Authority
CN
China
Prior art keywords
frame
target data
data frame
byte
serial port
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
Application number
CN202211680200.7A
Other languages
English (en)
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.)
Shenzhen Power Supply Co ltd
Original Assignee
Shenzhen Power Supply 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 Shenzhen Power Supply Co ltd filed Critical Shenzhen Power Supply Co ltd
Priority to CN202211680200.7A priority Critical patent/CN116383117A/zh
Publication of CN116383117A publication Critical patent/CN116383117A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

本申请涉及一种串口通信方法、装置、设备、介质和程序产品。所述方法包括:首先,通过对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;最后,检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。其中,目标数据帧的帧头和帧尾的长度均为单个字节。采用本方法能够保证接收端接收数据的完整性和准确性。

Description

串口通信方法、装置、设备、介质和程序产品
技术领域
本申请涉及通信技术领域,特别是涉及一种串口通信方法、装置、设备、介质和程序产品。
背景技术
串行通信接口作为计算机与单片机的主要接口,广泛应用于各类工业系统监控、仪器仪表、及自动控制领域中。通信协议是指在通信过程中,需要通信双方所达成的一种约定,它规定了通信双方必须遵守的数据格式,验错方式及控制字符定义等内容。在各类工业系统监控、仪器仪表、及自动控制中,需要设计严格、合理、规范的串口通信协议,以保证数据传输的可靠性。
但是,目前通用的串口通信协议在接收过程中可能会发生接收不完整,传输数据的稳定性不高。
发明内容
基于此,有必要针对上述技术问题,提供一种传输准确,稳定性高的串口通信方法、装置、设备、介质和程序产品。
第一方面,本申请提供了一种串口通信方法。该方法包括:对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在其中一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在其中一个实施例中,在继续接收的过程中确定目标数据帧的帧尾位置,包括:根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在其中一个实施例中,从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置,包括:根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在其中一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在其中一个实施例中,方法还包括:若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
第二方面,本申请还提供了一种串口通信装置。该装置包括:
第一检测模块,用于对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;
接收模块,用于若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;
第二检测模块,用于检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在其中一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在其中一个实施例中,接收模块,具体用于根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在其中一个实施例中,接收模块,具体用于根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在其中一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在其中一个实施例中,还包括反馈模块,反馈模块,用于若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的串口通信方法。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的串口通信方法。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面的串口通信方法。
上述串口通信方法、装置、设备、介质和程序产品,首先,通过对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;最后,检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。其中,目标数据帧的帧头和帧尾的长度均为单个字节。通过这种方式,接收端在从串口接收数据时,首先判断是否接收到目标数据帧的帧头,如果接收到目标数据帧的帧头,则继续接收知道接收到目标数据帧的帧尾结束,保证接收端接收数据的完整性和准确性。
附图说明
图1为一个实施例中串口通信方法的应用环境图;
图2为一个实施例中串口通信方法的流程示意图;
图3为另一个实施例中串口通信方法的流程示意图;
图4为另一个实施例中串口通信方法的流程示意图;
图5为另一个实施例中串口通信方法的流程示意图;
图6为另一个实施例中串口通信方法的流程图;
图7为另一个实施例中串口通信方法的流程图;
图8为一个实施例中串口通信装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的串口通信方法,可以应用于如图1所示的应用环境中。其中,接收端101通过串口与发送端102进行通信。其中,接收端101和发送端102可以是终端也可以是服务器,可以是但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。
在一个实施例中,如图2所示,提供了一种串口通信方法,以该方法应用于图1中的接收端为例进行说明,包括以下步骤:
步骤201,对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头。
其中,目标数据帧的帧头和帧尾的长度均为单个字节。发送端根据预设数据格式对要发送的数据进行封装,成为目标数据帧,然后通过串口发送,接收端通过串口采集数据,同时对采集到的数据的每一个字节进行检测,确定接收到的各个字节是否为目标数据帧的帧头,帧头为预先定义好的单字节数据,接收端将每个字节与预先定义好的帧头数据比较,如果一致,则确定该字节为帧头,如果不一致,则确定该字节不为帧头,继续进行下一个字节的判断。
步骤202,若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
当接收端检测到某字节为目标数据帧的帧头时,从某字节也即帧头开始继续接收串口上的数据。由于发送端根据预设数据格式对数据进行封装,预设数据格式中可以包括数据长度,因此在确定帧头和数据长度后,可以确定目标数据帧的帧尾的位置。
步骤203,检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾。
确定了目标数据帧的帧尾位置后,接收端检测帧尾的字节是否和预设的目标数据帧的帧尾的数据一致。
步骤204,若是,则确定成功接收到目标数据帧。
如果帧尾和预设的帧尾数据一致,则说明目标数据帧接收成功,此时接收端完整得接收到发送端发送的数据。
上述实施例中,首先,通过对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;最后,检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。其中,目标数据帧的帧头和帧尾的长度均为单个字节。通过这种方式,接收端在从串口接收数据时,首先判断是否接收到目标数据帧的帧头,如果接收到目标数据帧的帧头,则继续接收知道接收到目标数据帧的帧尾结束,保证接收端接收数据的完整性和准确性。
进一步得,帧头和帧尾都为一个字节,无需对数据包中的字节进行转译,提高了通信效率。
在本申请一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
其中,预设数据格式可以包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾,目标数据帧使用预设数据格式进行封装后发送,也即包含上述信息。其中,帧头和帧尾占一个字节,不同的数据帧的帧头和帧尾互不相同。数据长度为1个字节,数据长度表示传输的数据包的具体长度。发送设备编码为发送设备也即发送端的ID号,接收设备编码为接收设备也即接收端的ID号。发送设备编码和接收设备编码均为一个字节。命令码为具体对设备的控制指令,命令码可以为2个字节。数据包为实际传输的数据,数据包的长度根据实际发送要求而不同。校验帧用于校验数据帧的正确性,也为1个字节。
可选的,校验帧用于对目标数据帧进行累加和数据校验处理。
通过校验帧对接收到的目标数据帧进行累加和的数据校验。
上述实施例中,通过预设数据格式对数据进行封装,包括数据长度因此可以确定接收的总的数据的长度,还包括校验帧可以对接收到的数据进行校验,可以保证数据接收的准确性。
在一个实施例中,在继续接收的过程中如何确定目标数据帧的帧尾位置,包括:根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
根据上述可知,确定目标数据帧的帧头位置后,继续接收下一字节数据为数据长度,由于发送设备编码、接收设备编码、命令码以及数据包长度和校验码的长度都确定,由此可以确定在接收多少个字节之后是帧尾位置。
在本申请的一个实施例中,从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置的步骤如图3所示,包括:
步骤301,根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码。
可选的,在接收的过程中,当接收到发送设备编码时,根据实际使用要求检测发送设备编码是否为有效的发送设备编码,例如当需要指定发送设备的数据时,检测发送设备编码是否与指定的发送设备的ID一致,如果一致则为有效的发送设备编码,如果不一致,则为无效的发送设备编码。
步骤302,若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
如果为有效的发送设备编码,则继续接收目标数据帧,直至帧尾位置,如果为无效的发送设备编码,则不继续接收该目标数据帧。
上述实施例中,通过判断发送设备编码是否为有效的发送设备的编码,进一步保证了数据传输的准确性和安全性。
在一个实施例中,为了保证传输的可靠性,如图4所示,方法还包括:
步骤401,若确定成功接收到目标数据帧后,反馈确认信息至发送端。
在接收端确定成功接收到目标数据帧后,在预设时间内返回确认信息至目标数据帧的发送端。
步骤402,若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
若发送端在预设时间阈值内未收到接收端发送的确认信息,则发送端认为目标数据帧发送失败,发送端重新发送目标数据帧。
可选的,发送端每次重发目标数据帧后进行计数,如果超时重发的次数超过预设的次数阈值,发送端需要重新启动系统。
上述实施例中,通过超时重发机制,提高了数据传输的稳定性。避免通信干扰导致接收端无法正确获取到发送端发送的数据。
在本申请的实施例中,请参考图5,其示出了本申请实施例提供的一种串口通信方法的流程图,该串口通信方法包括以下步骤:
步骤501,对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头。
步骤502,根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码。
步骤503,若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
步骤504,检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾。
步骤505,若是,则确定成功接收到目标数据帧。
步骤506,若确定成功接收到目标数据帧后,反馈确认信息至发送端。
步骤507,若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
在一个实施例中,预设数据格式可以如下表1所示。
表1数据帧结构
Figure BDA0004018968140000081
具体的,通信流程可以如图6所示。接收端在接收时若接收的第一个字节为0xAA,与帧头相同,则继续接收第二个字节为数据长度,继续接收第三个字节为发送设备编码,检测发送设备编码是否为有效设备的编码,若是则继续接收,直至接收到校验码,进行校验后,判断最后一个字节是否与帧尾0x55相同,相同,则确定该数据帧完整且传输正确。
超时重发流程如图7所示,接收端在接收到数据后,向发送端反馈确认信息,如果发送端在预先设定的时间阈值内未收到反馈的确认信息,如10秒内,则重发数据。如果重发超过10次后,发送端重启系统。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的串口通信方法的串口通信装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个串口通信装置实施例中的具体限定可以参见上文中对于串口通信方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种串口通信装置800,包括:第一检测模块801、接收模块802和第二检测模块803,其中:
该第一检测模块801,用于对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;
该接收模块802,用于若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;
该第二检测模块803,用于检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在一个实施例中,接收模块802,具体用于根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在一个实施例中,接收模块802,具体用于根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在一个实施例中,还包括反馈模块,反馈模块,用于若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
上述串口通信装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种串口通信方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各字节是否为目标数据帧的帧头,其中,目标数据帧的帧头和帧尾的长度均为单个字节;若某字节为目标数据帧的帧头,则从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置;检测目标数据帧的帧尾位置处的字节是否为目标数据帧的帧尾,若是,则确定成功接收到目标数据帧。
在一个实施例中,目标数据帧包括帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及帧尾。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标数据帧的帧头和数据长度,确定目标数据帧的帧尾位置。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据目标数据帧中的发送设备编码检测发送设备编码是否为有效的发送设备编码;若是,则执行从某字节开始继续接收发送端通过串口发送的数据,并在继续接收的过程中确定目标数据帧的帧尾位置。
在一个实施例中,校验帧用于对目标数据帧进行累加和数据校验处理。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若确定成功接收到目标数据帧后,反馈确认信息至发送端;若发送端在预设时间阈值内未收到确认信息,则重新发送目标数据帧。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种串口通信方法,其特征在于,所述方法包括:
对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各所述字节是否为目标数据帧的帧头,其中,所述目标数据帧的帧头和帧尾的长度均为单个字节;
若某字节为所述目标数据帧的帧头,则从所述某字节开始继续接收所述发送端通过串口发送的数据,并在继续接收的过程中确定所述目标数据帧的帧尾位置;
检测所述目标数据帧的帧尾位置处的字节是否为所述目标数据帧的帧尾,若是,则确定成功接收到所述目标数据帧。
2.根据权利要求1所述的方法,其特征在于,所述目标数据帧包括所述帧头、数据长度、发送设备编码、接收设备编码、命令码、数据包、校验帧以及所述帧尾。
3.根据权利要求2所述的方法,其特征在于,所述在继续接收的过程中确定所述目标数据帧的帧尾位置,包括:
根据所述目标数据帧的所述帧头和所述数据长度,确定所述目标数据帧的帧尾位置。
4.根据权利要求2所述的方法,其特征在于,所述从所述某字节开始继续接收所述发送端通过串口发送的数据,并在继续接收的过程中确定所述目标数据帧的帧尾位置,包括:
根据所述目标数据帧中的发送设备编码检测所述发送设备编码是否为有效的发送设备编码;
若是,则执行从所述某字节开始继续接收所述发送端通过串口发送的数据,并在继续接收的过程中确定所述目标数据帧的帧尾位置。
5.根据权利要求2所述的方法,其特征在于,所述校验帧用于对所述目标数据帧进行累加和数据校验处理。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定成功接收到所述目标数据帧后,反馈确认信息至所述发送端;
若所述发送端在预设时间阈值内未收到所述确认信息,则重新发送所述目标数据帧。
7.一种串口通信装置,其特征在于,所述装置包括:
第一检测模块,用于对发送端通过串口发送的数据中的每一字节进行检测,以根据检测结果确定各所述字节是否为目标数据帧的帧头,其中,所述目标数据帧的帧头和帧尾的长度均为单个字节;
接收模块,用于若某字节为所述目标数据帧的帧头,则从所述某字节开始继续接收所述发送端通过串口发送的数据,并在继续接收的过程中确定所述目标数据帧的帧尾位置;
第二检测模块,用于检测所述目标数据帧的帧尾位置处的字节是否为所述目标数据帧的帧尾,若是,则确定成功接收到所述目标数据帧。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202211680200.7A 2022-12-27 2022-12-27 串口通信方法、装置、设备、介质和程序产品 Pending CN116383117A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211680200.7A CN116383117A (zh) 2022-12-27 2022-12-27 串口通信方法、装置、设备、介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211680200.7A CN116383117A (zh) 2022-12-27 2022-12-27 串口通信方法、装置、设备、介质和程序产品

Publications (1)

Publication Number Publication Date
CN116383117A true CN116383117A (zh) 2023-07-04

Family

ID=86979320

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211680200.7A Pending CN116383117A (zh) 2022-12-27 2022-12-27 串口通信方法、装置、设备、介质和程序产品

Country Status (1)

Country Link
CN (1) CN116383117A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118467444A (zh) * 2024-07-09 2024-08-09 成都阶跃时进科技有限公司 Rs-485总线主机通讯方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118467444A (zh) * 2024-07-09 2024-08-09 成都阶跃时进科技有限公司 Rs-485总线主机通讯方法及装置
CN118467444B (zh) * 2024-07-09 2024-10-11 成都阶跃时进科技有限公司 Rs-485总线主机通讯方法及装置

Similar Documents

Publication Publication Date Title
US9612617B1 (en) Wearable computing device for managing and storing data
CN1630403A (zh) 用户识别模块(sim)仿真器
CN109450912B (zh) 数据传输方法、装置和设备
CN106954276B (zh) 一种重传调度的方法、设备及系统
CN116383117A (zh) 串口通信方法、装置、设备、介质和程序产品
TW201214221A (en) Method for transmitting touch panel data
CN114039703A (zh) 数据传输方法、装置、设备和介质
CN114035987A (zh) 基于消息队列的数据传输方法、装置、电子设备及介质
CN111124801B (zh) 智能化系统资源监控方法、装置及计算机可读存储介质
CN102937963A (zh) 使用协议处理程序的模板和服务器内容下载
CN104579548A (zh) 基于管理数据输入输出多源协议的传输方法及装置
CN111970102A (zh) 数据处理方法、装置、电子设备及存储介质
CN103716139A (zh) 一种信息推送处理方法和装置
KR102089629B1 (ko) 데이터 처리 방법 및 그 방법을 처리하는 전자장치
CN112422485B (zh) 一种传输控制协议的通信方法及装置
CN110048865B (zh) 一种总线数据传输方法、装置、电子设备及存储介质
CN112711955A (zh) 一种nfc的信息传输方法、信息传输装置及终端
CN115412890B (zh) 一种数据传输方法、装置和终端设备
CN113645316B (zh) 升级数据处理方法、上位机、下位机、设备及存储介质
CN111371586A (zh) 日志数据传输方法、装置和设备
CN111356119B (zh) 一种数据传输方法及相关设备
US9992034B2 (en) Component multicast protocol
US20210014006A1 (en) System and method for implementing a hybrid automatic repeat request process
CN106068506B (zh) 用于提高电子装置中的加载时间的设备和方法
CN111552907A (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