CN112671770A - 室外机串口协议解析方法、装置、计算机设备及存储介质 - Google Patents
室外机串口协议解析方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112671770A CN112671770A CN202011548273.1A CN202011548273A CN112671770A CN 112671770 A CN112671770 A CN 112671770A CN 202011548273 A CN202011548273 A CN 202011548273A CN 112671770 A CN112671770 A CN 112671770A
- Authority
- CN
- China
- Prior art keywords
- data frame
- data
- outdoor unit
- instruction
- 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
Links
Images
Landscapes
- Communication Control (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例公开了一种室外机串口协议解析方法、装置、计算机设备及存储介质;所述方法包括:判断室外机是否接收到室内机的串口协议数据帧,若接收到数据帧,则检测所述数据帧是否通过CRC校验;若通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数;本申请实施例通过对室内机接收的串口协议数据帧进行CRC校验后,查询指令表,获得数据帧对应的指令,并调用指令对应的方法进行执行;通过指令表来实现对串口协议数据帧的解析,解析得到的每个指令都是独立的,易于拓展更多的指令,每个指令分别有对应的函数,从而便于阅读和处理,增强健壮性。
Description
技术领域
本申请实施例涉及微波通信技术领域,尤其涉及一种室外机串口协议解析方法、装置、计算机设备及存储介质。
背景技术
目前,室内单元(IDU)和室外单元(ODU)之间的串口协议通信通常采用switch语句来解析帧命令,这适用于通信协议相对简单、命令比较少的应用,但在通信协议较为复杂、命令较多的情况下,意味着需要很多的case语句,串口帧解析代码的行数多达上千行,不便阅读,影响室内单元和室外单元的通信效率、拓展性和健壮性。
发明内容
本申请实施例提供一种室外机串口协议解析方法、装置、计算机设备及存储介质,以解决现有技术中串口协议通信采用switch语句协议解析方式存在的阅读性、健壮性和扩展性存较差的问题。
在第一方面,本申请实施例提供了一种室外机串口协议解析方法,包括:
判断室外机是否接收到室内机的串口协议数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;
若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;
若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数。
进一步的,所述基于预设的指令表查询所述数据帧对应的指令,若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数,包括:
提取所述数据帧的命令字节,基于预设的命令字节与指令的对照表查询所述命令字节对应的指令;
若在指令表中查询到与所述数据帧相对应的指令,调用所述室内机中存储的该指令对应的函数进行执行,并向室内机发送回复数据。
进一步的,所述检测所述数据帧是否通过CRC校验,包括:
若所述数据帧同时满足以下条件:数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应;则判断所述数据帧通过CRC校验。
进一步的,所述数据帧的数据长度与存储的数据长度规则相对应,包括:
所述数据帧的数据长度的字节数与所述室外机存储的数据长度的字节设定数相同。
进一步的,所述数据帧的数据区与存储的数据区规则相对应,包括:
获取所述数据帧的数据区的参数,根据所述数据区规则进一步获取所述参数的错误码,根据所述室外机的数据区的错误码对照表,查询出所述错误码对应的执行状态;
若执行状态为执行成功状态,并且所述数据帧的字节数与所述数据区存储的字节设定数相同,则所述数据帧的设置参数与所述室外机的数据帧参数规则相对应。
进一步的,所述判断室外机是否接收到室内机的数据帧,包括:
通过室外机存储的接收指令函数frame_received来判断是否接收到室内机的数据帧,若接收指令函数frame_received等于0,则所述室外机没有接收到数据帧;若接收指令函数frame_received等于1,则所述室外机接收到数据帧。
进一步的,所述若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验,包括:
若所述室外机接收到数据帧,判断所述数据帧的起始字节是否符合起始字节设定格式,若所述数据帧的起始字节符合起始字节设定格式,则检测所述数据帧是否通过CRC校验。
在第二方面,本申请实施例提供了一种室外机串口协议解析装置,包括:
数据判断模块,用于判断室外机是否接收到室内机的数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;
校验判断模块,用于若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;
指令执行模块,用于若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的方法,并向室内机发送回复数据。
进一步的,所述检验判断模块还用于提取所述数据帧的命令字节,基于预设的命令字节与指令的对照表查询所述命令字节对应的指令。
进一步的,所述指令执行模块还用于若在指令表中查询到与所述数据帧相对应的指令,调用所述室内机中存储的该指令对应的函数进行执行,并向室内机发送回复数据。
进一步的,所述数据判断模块还用于若所述数据帧同时满足以下条件:数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应;则判断所述数据帧通过CRC校验。
进一步的,所述数据判断模块包括:数据长度判断单元和设置参数判断单元;所述数据长度判断单元用于检测所述数据帧的数据长度的字节数与所述室外机存储的数据长度的字节设定数相同;所述设置参数判断单元用于获取所述数据帧的数据区的参数,根据所述数据区规则进一步获取所述参数的错误码,根据所述室外机的数据区的错误码对照表,查询出所述错误码对应的执行状态;若执行状态为执行成功状态,并且所述数据帧的字节数与所述数据区存储的字节设定数相同,则所述数据帧的设置参数与所述室外机的数据帧参数规则相对应。
进一步的,所述数据判断模块还用于通过室外机存储的接收指令函数frame_received来判断是否接收到室内机的数据帧,若接收指令函数frame_received等于0,则所述室外机没有接收到数据帧;若接收指令函数frame_received等于1,则所述室外机接收到数据帧。
进一步的,所述数据判断模块还用于若所述室外机接收到数据帧,判断所述数据帧的起始字节是否符合起始字节设定格式,若所述数据帧的起始字节符合起始字节设定格式,则检测所述数据帧是否通过CRC校验。
在第三方面,本申请实施例提供了一种计算机设备,包括存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的室外机串口协议解析方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的室外机串口协议解析方法。
本申请实施例通过对室内机接收的串口协议数据帧进行CRC校验后,查询指令表,获得数据帧对应的指令,并调用指令对应的方法进行执行;通过指令表来实现对串口协议数据帧的解析,解析得到的每个指令都是独立的,易于拓展更多的指令,每个指令分别有对应的函数,从而便于阅读和处理,增强健壮性。
附图说明
图1是本申请实施例提供的一种室外机串口协议解析方法的流程图;
图2是本申请实施例提供的另一种室外机串口协议解析方法的流程图;
图3是本申请实施例提供的另一种室外机串口协议解析方法的流程图;
图4是本申请实施例提供的室外机的数据区的错误码对照表的示意图;
图5是本申请实施例提供的一种室外机串口协议解析装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本申请提供的室外机串口协议解析的方法通过对室内机接收的串口协议数据帧进行CRC校验后,查询指令表,获得数据帧对应的指令,并调用指令对应的方法进行执行;通过指令表来实现对串口协议数据帧的解析,解析得到的每个指令都是独立的,易于拓展更多的指令,每个指令分别有对应的函数,从而便于阅读和处理,增强健壮性;目前,室内单元(IDU)和室外单元(ODU)之间的串口协议通信通常采用switch语句来解析帧命令,这适用于通信协议相对简单、命令比较少的应用,但在通信协议较为复杂、命令较多的情况下,意味着需要很多的case语句,串口帧解析代码的行数多达上千行,不便阅读,影响室内单元和室外单元的通信效率、拓展性和健壮性。基于此,提供本申请实施例的室外机串口协议解析方法,来解决现有技术中串口协议通信采用switch语句协议解析方式存在的阅读性、健壮性和扩展性存较差的问题。
实施例中提供的室外机串口协议解析方法可以由室外机串口协议解析装置执行,该室外机串口协议解析装置可以通过软件和/或硬件的方式实现,并集成在室外机串口协议解析设备中。其中,室外机串口协议解析设备可以是计算机等设备。
图1为本申请实施例提供的一种室外机串口协议解析方法的流程图。参考图1,该室外机串口协议解析方法具体包括:
步骤110、判断室外机是否接收到室内机的串口协议数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验。
具体的,室外机和室内机通过串口通信协议进行连接和数据传输,判断室外机是否接收到室内机的串口协议数据帧,可选的,室外机可以通过存储的接收数据函数来判断是否接收到室内机的串口协议数据帧,若接收数据函数为真,则说明室外机接收到数据帧,若接收数据函数为否则说明室外机没有接收到数据帧;可选的,若室外机接收到数据帧,则判断数据帧的格式是否正确,若数据帧的格式错误,则结束数据帧的解析,若数据帧的格式正确,则检测所述数据帧是否通过CRC校验。
可选的,数据帧的协议格式包括:起始字节、数据长度、命令字节、数据区、CRC校验和结束字节。示例性的,若数据帧的格式错误,如起始字节和结束字节错误,则结束数据帧的解析。
示例性的,室内机发送的串口协议数据帧的起始字节为0xF6,室外机发送的串口协议数据帧的起始字节为0xF2;数据长度为从命令字节到CRC校验字节的个数,数据长度的范围为0-255;命令字节的每个命令都有唯一的十六进制数据,根据十六进制数据来对应设置指令表,命令字节的范围为0-255;数据区分为室内机的数据区和室外机的数据区,数据区的范围为0-240;其中,室内机的数据区中发出的设置命令数据区有相应的设置参数,发出的查询命令数据区没有参数数据;其中,室外机对室内机的响应数据帧的数据区由错误码和相应数据组成,即数据区中解析出的错误码和相应数据可以判断响应的数据帧的执行状态,同时反馈执行状态数据到室内机。
示例性的,定义了下面一帧数据关键信息的结构体:
定义了下面包含命令字节、函数和参数长度的结构体:
其中,上述结构体的代码执行实现信息数据帧的传递。
步骤120、若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令。
具体的,如果室外机接收到室内机的数据帧,并且对数据帧进行CRC校验以后,查询出数据帧对应的指令并执行,具体的,基于预设的指令表来查询数据帧对应的指令,其中,预设的指令表为存储在室外机的数据帧与指令的对照表,根据数据帧的数值进行查表,可以获得对应的指令。
示例性的,基于数据帧的命令字节与指令的对照表,根据命令字节的数值来进行查表,获得对应的指令。
步骤130、若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数。
具体的,室外机对接收的数据帧进行CRC校验并且查询指令表获得对应的指令后,调用存储的该指令的对应函数并执行,从而实现了室外机接收室内机的串口协议数据帧进行处理后并执行,同时发送执行成功的回复数据到室内机;可以理解的是,若指令表中没有查询到与数据帧相对应的指令,则接收该数据帧的解析。
示例性的,获取数据帧对应的指令后,指令表中还存储有指令与函数的对照表,调用对应的函数进行执行;示例性的,获取数据帧对应的指令后,根据室外机存储的指令与函数的对照表,根据指令调用对应的函数进行执行;可以理解的是,指令与函数为一一对应的关系。
在上述实施例的基础上,图2给出了本申请实施例提供的另一种室外机串口协议解析方法的流程图。该室外机串口协议解析方法是对上述室外机串口协议解析方法的具体化。参考图2,该室外机串口协议解析方法包括:
步骤210、若所述数据帧同时满足以下条件:数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应;则判断所述数据帧通过CRC校验。
具体的,CRC校验通过数据帧的数据长度、命令字节和数据区来实现;其中,当数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应,则判断所述数据帧通过CRC校验;若所述数据帧的数据长度与所述室外机存储的数据长度规则、数据帧的命令字节与存储的指令的对照表、所述数据帧的数据区与所述室外机的数据区规则三项对应关系有其中一项不对应时,则判断所述数据帧没有通过CRC校验,此时结束数据帧的解析;其中,数据帧的命令字节与存储的指令的对照表,即命令字节中包含指令,若该指令存储的指令的对照表中查询不到,则数据帧的命令字节与存储的指令的对照表不相对应。
步骤220、提取所述数据帧的命令字节,基于预设的命令字节与指令的对照表查询所述命令字节对应的指令。
示例性的,预设的命令字节与指令的对照表可以根据室外机的具体情况和参数进行设置,根据室外机与室内机的协议约定进行设置;示例性的,若命令字节的数值为01,指令为软件数据的查询;若命令字节的数据为02,指令为硬件数据的查询;若命令字节的数据为03,指令为温度数据的查询等多种命令字节和对应的具体指令。
步骤230、若在指令表中查询到与所述数据帧相对应的指令,调用所述室内机中存储的该指令对应的函数进行执行,并向室内机发送回复数据。
示例性的,当命令字节的数据为01,指令为软件数据的查询,此时调用查询软件数据的相关函数进行执行,获得软件数据的数值并反馈到室内机,即向室内机发送回复数据;当命令字节的数据为02,指令为硬件数据的查询,此时调用查询硬件数据的相关函数进行执行,获得硬件数据的数值并反馈到室内机;当命令字节的数据为03,指令为温度数据的查询,此时调用查询温度数据的相关函数进行执行,获得温度数据的数值并反馈到室内机。
示例性的,下面是三个函数(软件数据查询函数、硬件数据查询函数和温度数据查询函数)的代码:
static void sample_get_device_software_version(FrameMessage_Typemsg);
static void sample_get_device_hardware_version(FrameMessage_Typemsg);
static void sample_get_device_temperature(FrameMessage_Type msg);
在上述实施例的基础上,图3给出了本申请实施例提供的另一种室外机串口协议解析方法的流程图。该室外机串口协议解析方法是对上述室外机串口协议解析方法的具体化。参考图3,该室外机串口协议解析方法包括:
步骤2101、所述数据帧的数据长度的字节数与所述室外机存储的数据长度的字节设定数相同。
具体的,CRC校验通过数据帧的数据长度和数据区来实现;其中,数据帧的数据长度的字节数与室外机存储的数据长度的字节设定数相同,则数据帧的数据长度与所述室外机存储的数据长度规则相对应;可选的,室外机存储的数据长度的字节设定数可以为一个设定范围,例如0-255;也可以为多个字节设定数值,当接收的数据帧的数据长度为多个字节设定数值的其中一个时,则数据帧的数据长度校验成功。
步骤2102、获取所述数据帧的数据区的参数,根据所述数据区规则进一步获取所述参数的错误码,根据所述室外机的数据区的错误码对照表,查询出所述错误码对应的执行状态。
可选的,室内机发出的设置命令数据区有相应的设置参数,提取其中数据帧的设置参数,将设置参数与室外机存储有可设置的参数内容和范围相对应,可以得到设置参数的错误码。
示例性的,室外机的数据区的错误码对照表如图4所示,当错误码为0x00时,判断为室内机发出的设置参数落入室外机存储的可设置参数内容和范围,从而室外机对数据帧(设置参数)进行执行,则此时的描述(执行状态)为执行成功;当错误码为0x01时,判断为数据帧(设置参数)错误,此时的描述为CRC校验失败,同时将错误信息反馈到室内机;当错误码为0x02时,判断为室内机发出的设置参数与室外机存储的可设置参数的内容不符合,此时的描述为不支持的命令,CRC校验失败;当错误码为0x03时,判断为室内机发出的设置参数与室外机存储的可设置参数的范围不符合,此时的描述为参数不支持,CRC校验失败。
示例性的,下面代码为枚举类型的错误码:
其中,根据错误码的数值获取对应状态的函数代码并执行。
步骤2103、若执行状态为执行成功状态,并且所述数据帧的字节数与所述数据区存储的字节设定数相同,则所述数据帧的设置参数与所述室外机的数据帧参数规则相对应。
具体的,执行状态为执行成功状态时,则说明数据帧的设置参数与所述室外机的数据帧参数规则相对应,此时进一步判断数据帧的字节数与所述数据区存储的字节设定数是否相同,若不相同,则判定CRC校验失败,若相同,则判断CRC校验成功。
在上述实施例的基础上,室外机串口协议解析方法还可以具体化为:判断室外机是否接收到室内机的数据帧,包括:
通过室外机存储的变量frame_received来判断是否接收到室内机的数据帧,若接收变量frame_received等于0,则所述室外机没有接收到数据帧;若接收指令函数frame_received等于1,则所述室外机接收到数据帧。
示例性的,frame_received为全局变量,为1时代表收到一帧数据,为0时代表没有收到数据,下列代码定义了rx_data[300]数组用于存储收到的一帧数据:
unsigned char frame_received=0;
unsigned char rx_data[300];
在上述实施例的基础上,室外机串口协议解析方法还可以具体化为:若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验,包括:
若所述室外机接收到数据帧,判断所述数据帧的起始字节是否符合起始字节设定格式,若所述数据帧的起始字节符合起始字节设定格式,则检测所述数据帧是否通过CRC校验。
示例性的,判断数据帧的起始字节是否为0xF6,若数据帧的起始字节为0xF6,则数据帧的格式正确,进入数据帧的CRC校验阶段。
前一段代码用于实现对接收到的数据帧的查询指令表。
前一段代码用于实现室外机接收的数据帧通过CRC校验。
前一段代码用于实现室内机接收的数据帧通过CRC校验。
前一段代码用于实现室内机接收室内机的软件、硬件和温度数据。
通过上述实施例可以看出,室外机通过对一个数据帧的独立解析和处理,即可完成对应的响应,每个指令的处理过程相对独立,没有switch语句的判断逻辑,便于扩展。
以上步骤并不是严格按照编号描述的顺序依次执行,其应作为一个整体方案进行理解。
在上述实施例的基础上,图5为本申请实施例提供的一种室外机串口协议解析装置的结构示意图。参考图5,本实施例提供的图像处理装置具体包括:数据判断模块301、校验判断模块302以及指令执行模块303。
其中,数据判断模块301用于判断室外机是否接收到室内机的数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;校验判断模块302用于若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;指令执行模块303用于若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的方法,并向室内机发送回复数据
进一步的,所述检验判断模块302还用于提取所述数据帧的命令字节,基于预设的命令字节与指令的对照表查询所述命令字节对应的指令。
进一步的,所述指令执行模块303还用于若在指令表中查询到与所述数据帧相对应的指令,调用所述室内机中存储的该指令对应的函数进行执行,并向室内机发送回复数据。
进一步的,所述数据判断模块301还用于若所述数据帧同时满足以下条件:数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应;则判断所述数据帧通过CRC校验。
进一步的,所述数据判断模块301包括:数据长度判断单元和设置参数判断单元;所述数据长度判断单元用于检测所述数据帧的数据长度的字节数与所述室外机存储的数据长度的字节设定数相同;所述设置参数判断单元用于获取所述数据帧的数据区的参数,根据所述数据区规则进一步获取所述参数的错误码,根据所述室外机的数据区的错误码对照表,查询出所述错误码对应的执行状态;若执行状态为执行成功状态,并且所述数据帧的字节数与所述数据区存储的字节设定数相同,则所述数据帧的设置参数与所述室外机的数据帧参数规则相对应。
进一步的,所述数据判断模块301还用于通过室外机存储的接收指令函数frame_received来判断是否接收到室内机的数据帧,若接收指令函数frame_received等于0,则所述室外机没有接收到数据帧;若接收指令函数frame_received等于1,则所述室外机接收到数据帧。
进一步的,所述数据判断模块301还用于若所述室外机接收到数据帧,判断所述数据帧的起始字节是否符合起始字节设定格式,若所述数据帧的起始字节符合起始字节设定格式,则检测所述数据帧是否通过CRC校验。
上述,本申请实施例通过对室内机接收的串口协议数据帧进行CRC校验后,查询指令表,获得数据帧对应的指令,并调用指令对应的方法进行执行;通过指令表来实现对串口协议数据帧的解析,解析得到的每个指令都是独立的,易于拓展更多的指令,每个指令分别有对应的函数,从而便于阅读和处理,增强健壮性。
本申请实施例提供的室外机串口协议解析装置可以用于执行上述实施例提供的室外机串口协议解析方法,具备相应的功能和有益效果。
本申请实施例还提供了一种计算机设备,该计算机设备可集成本申请实施例提供的室外机串口协议解析装置。图6是本申请实施例提供的一种计算机设备的结构示意图。参考图6,该计算机设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;所述存储器42,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器41执行,使得所述一个或多个处理器41实现如上述实施例提供的室外机串口协议解析方法。其中输入装置43、输出装置44、存储器42和处理器41可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的室外机串口协议解析方法。
上述提供的计算机设备可用于执行上述实施例提供的室外机串口协议解析方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种室外机串口协议解析方法,该室外机串口协议解析方法包括:判断室外机是否接收到室内机的串口协议数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的室外机串口协议解析方法,还可以执行本申请任意实施例所提供的室外机串口协议解析方法中的相关操作。
上述实施例中提供的室外机串口协议解析装置、存储介质及计算机设备可执行本申请任意实施例所提供的室外机串口协议解析方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的室外机串口协议解析方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种室外机串口协议解析方法,其特征在于,所述方法包括以下步骤:
判断室外机是否接收到室内机的串口协议数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;
若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;
若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数。
2.根据权利要求1所述的室外机串口协议解析方法,其特征在于,所述基于预设的指令表查询所述数据帧对应的指令,若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的函数,包括:
提取所述数据帧的命令字节,基于预设的命令字节与指令的对照表查询所述命令字节对应的指令;
若在指令表中查询到与所述数据帧相对应的指令,调用所述室内机中存储的该指令对应的函数进行执行,并向室内机发送回复数据。
3.根据权利要求1所述的室外机串口协议解析方法,其特征在于,所述检测所述数据帧是否通过CRC校验,包括:
若所述数据帧同时满足以下条件:数据帧的数据长度与存储的数据长度规则相对应,数据帧的命令字节与存储的指令的对照表相对应,以及数据帧的数据区与存储的数据区规则相对应;则判断所述数据帧通过CRC校验。
4.根据权利要求3所述的室外机串口协议解析方法,其特征在于,所述数据帧的数据长度与存储的数据长度规则相对应,包括:
所述数据帧的数据长度的字节数与所述室外机存储的数据长度的字节设定数相同。
5.根据权利要求3所述的室外机串口协议解析方法,其特征在于,所述数据帧的数据区与存储的数据区规则相对应,包括:
获取所述数据帧的数据区的参数,根据所述数据区规则进一步获取所述参数的错误码,根据所述室外机的数据区的错误码对照表,查询出所述错误码对应的执行状态;
若执行状态为执行成功状态,并且所述数据帧的字节数与所述数据区存储的字节设定数相同,则所述数据帧的设置参数与所述室外机的数据帧参数规则相对应。
6.根据权利要求1所述的室外机串口协议解析方法,其特征在于,所述判断室外机是否接收到室内机的数据帧,包括:
通过室外机存储的接收指令函数frame_received来判断是否接收到室内机的数据帧,若接收指令函数frame_received等于0,则所述室外机没有接收到数据帧;若接收指令函数frame_received等于1,则所述室外机接收到数据帧。
7.根据权利要求1所述的室外机串口协议解析方法,其特征在于,所述若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验,包括:
若所述室外机接收到数据帧,判断所述数据帧的起始字节是否符合起始字节设定格式,若所述数据帧的起始字节符合起始字节设定格式,则检测所述数据帧是否通过CRC校验。
8.一种室外机串口协议解析装置,其特征在于,包括:
数据判断模块,用于判断室外机是否接收到室内机的数据帧,若所述室外机接收到数据帧,则检测所述数据帧是否通过CRC校验;
校验判断模块,用于若所述数据帧通过CRC校验,则基于预设的指令表查询所述数据帧对应的指令;
指令执行模块,用于若在指令表中查询到与所述数据帧相对应的指令,则调用并执行该指令对应的方法,并向室内机发送回复数据。
9.一种计算机设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的一种室外机串口协议解析方法。
10.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一所述的一种室外机串口协议解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011548273.1A CN112671770A (zh) | 2020-12-23 | 2020-12-23 | 室外机串口协议解析方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011548273.1A CN112671770A (zh) | 2020-12-23 | 2020-12-23 | 室外机串口协议解析方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112671770A true CN112671770A (zh) | 2021-04-16 |
Family
ID=75409912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011548273.1A Pending CN112671770A (zh) | 2020-12-23 | 2020-12-23 | 室外机串口协议解析方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671770A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766009A (zh) * | 2021-08-07 | 2021-12-07 | 深圳盈特创智能科技有限公司 | 一种灯板控制方法、系统、装置及存储介质 |
CN114416619A (zh) * | 2021-12-20 | 2022-04-29 | 深圳市乐升半导体有限公司 | 基于串口屏的图片显示方法、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201210693Y (zh) * | 2008-04-17 | 2009-03-18 | 福建师范大学 | 一种针对不同的终端实现自适应串口通讯协议转换器的装置 |
CN102279835A (zh) * | 2011-06-29 | 2011-12-14 | 厦门雅迅网络股份有限公司 | 一种嵌入式系统中主从设备串行总线通信方法及动态识别过程 |
CN102281152A (zh) * | 2011-06-08 | 2011-12-14 | 烽火通信科技股份有限公司 | 分布式通信系统、实现方法及远程api的编组和解组方法 |
CN102289372A (zh) * | 2011-07-21 | 2011-12-21 | 京信通信系统(中国)有限公司 | 基于lut的字符串协议解析方法及装置 |
CN102664886A (zh) * | 2012-04-18 | 2012-09-12 | 广州数控设备有限公司 | 一种基于以太网的机器人协议实现方法 |
CN107302531A (zh) * | 2017-06-19 | 2017-10-27 | 青岛华潞佳电子科技有限公司 | 一种基于状态机和环形队列的串口命令解析方法 |
CN109324635A (zh) * | 2018-10-15 | 2019-02-12 | 上海歌尔泰克机器人有限公司 | 控制命令的响应方法、系统、航拍无人机及存储介质 |
CN110647490A (zh) * | 2019-10-22 | 2020-01-03 | 深圳市康冠智能科技有限公司 | 数据传输方法、装置、设备以及计算机存储介质 |
-
2020
- 2020-12-23 CN CN202011548273.1A patent/CN112671770A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201210693Y (zh) * | 2008-04-17 | 2009-03-18 | 福建师范大学 | 一种针对不同的终端实现自适应串口通讯协议转换器的装置 |
CN102281152A (zh) * | 2011-06-08 | 2011-12-14 | 烽火通信科技股份有限公司 | 分布式通信系统、实现方法及远程api的编组和解组方法 |
CN102279835A (zh) * | 2011-06-29 | 2011-12-14 | 厦门雅迅网络股份有限公司 | 一种嵌入式系统中主从设备串行总线通信方法及动态识别过程 |
CN102289372A (zh) * | 2011-07-21 | 2011-12-21 | 京信通信系统(中国)有限公司 | 基于lut的字符串协议解析方法及装置 |
CN102664886A (zh) * | 2012-04-18 | 2012-09-12 | 广州数控设备有限公司 | 一种基于以太网的机器人协议实现方法 |
CN107302531A (zh) * | 2017-06-19 | 2017-10-27 | 青岛华潞佳电子科技有限公司 | 一种基于状态机和环形队列的串口命令解析方法 |
CN109324635A (zh) * | 2018-10-15 | 2019-02-12 | 上海歌尔泰克机器人有限公司 | 控制命令的响应方法、系统、航拍无人机及存储介质 |
CN110647490A (zh) * | 2019-10-22 | 2020-01-03 | 深圳市康冠智能科技有限公司 | 数据传输方法、装置、设备以及计算机存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113766009A (zh) * | 2021-08-07 | 2021-12-07 | 深圳盈特创智能科技有限公司 | 一种灯板控制方法、系统、装置及存储介质 |
CN113766009B (zh) * | 2021-08-07 | 2024-01-30 | 深圳盈特创智能科技有限公司 | 一种灯板控制方法、系统、装置及存储介质 |
CN114416619A (zh) * | 2021-12-20 | 2022-04-29 | 深圳市乐升半导体有限公司 | 基于串口屏的图片显示方法、装置、存储介质及电子设备 |
CN114416619B (zh) * | 2021-12-20 | 2023-08-15 | 深圳市乐升半导体有限公司 | 基于串口屏的图片显示方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112671770A (zh) | 室外机串口协议解析方法、装置、计算机设备及存储介质 | |
US20150201045A1 (en) | Automatic connection of nodes to a cloud cluster | |
CN110765195A (zh) | 一种数据解析方法、装置、存储介质及电子设备 | |
CN112988485A (zh) | 电力物联网设备模拟测试方法及装置 | |
CN112732563A (zh) | 接口脚本测试日志提取方法、装置、终端及存储介质 | |
CN103378994A (zh) | 一种通信设备的测试方法及终端 | |
CN111367766A (zh) | 监控主机与设备间连接关系确定方法、装置及设备 | |
CN111538515A (zh) | 一种电能表程序的升级方法、装置和设备 | |
CN109005469B (zh) | 一种消息格式的转换方法、装置、存储介质及安卓终端 | |
CN112216340A (zh) | 硬盘测试方法、装置、存储介质及电子设备 | |
CN110266554B (zh) | 一种私有通信协议的测试方法 | |
WO2018170866A1 (zh) | 数据采集方法和装置 | |
CN110727565B (zh) | 一种网络设备平台信息收集方法及系统 | |
CN111444208A (zh) | 一种数据更新方法及相关设备 | |
CN113655737B (zh) | 一种经can传输的车载电子控制器快速升级系统与方法 | |
CN111858179B (zh) | 一种基于容器引擎提升系统稳定性的方法和装置 | |
CN114171107A (zh) | 固态硬盘vpd信息的检测方法、装置、设备及存储介质 | |
CN111679899A (zh) | 任务调度方法、装置、平台设备及存储介质 | |
CN112181816A (zh) | 一种基于场景的接口测试方法、装置、计算机设备及介质 | |
CN111708568A (zh) | 一种组件化开发解耦方法及终端 | |
CN112003647A (zh) | 一种回收光猫的检测方法、装置、设备及存储介质 | |
CN113645052A (zh) | 一种固件调试方法及相关设备 | |
CN111147400A (zh) | 一种命令行配置同步的方法、装置及电子设备 | |
CN113660139B (zh) | 一种基于多种消息层通信v2x协议一致性检测方法 | |
CN108259286B (zh) | 主机与射频读卡器的i2c通信方法和系统 |
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 |