CN111654422A - 数据通信方法、装置、设备及存储介质 - Google Patents
数据通信方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111654422A CN111654422A CN201910158773.5A CN201910158773A CN111654422A CN 111654422 A CN111654422 A CN 111654422A CN 201910158773 A CN201910158773 A CN 201910158773A CN 111654422 A CN111654422 A CN 111654422A
- Authority
- CN
- China
- Prior art keywords
- data
- communication mode
- communicated
- communication
- target
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
- H04L12/40176—Flexible bus arrangements involving redundancy
- H04L12/40189—Flexible bus arrangements involving redundancy by using a plurality of bus systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/40208—Bus networks characterized by the use of a particular bus standard
- H04L2012/40228—Modbus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明实施例公开了一种数据通信方法、装置、设备及存储介质,包括:启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;根据所述目标通信方式对所述待通信数据进行数据通信。采用上述技术方案,可以解决现有技术中,无法灵活变更设备通信方式的技术问题。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种数据通信方法、装置、设备及存储介质。
背景技术
随着通信技术的发展,各类数据通信方式被应用于不同的设备中。然而,设备的主板程序通常只能运行一种通信方式。当旧的通信方式逐渐被淘汰、新的通信方式被广泛使用时,只能通过更换设备主板程序的方式实现将新的通信方式应用在设备中,然而,这样会耗费大量的精力,并且降低设备的经济性。
发明内容
本发明提供了一种数据通信方法、装置、设备及存储介质,以解决现有技术中,无法灵活变更设备通信方式的技术问题。
第一方面,本发明实施例提供了一种数据通信方法,包括:
启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;
通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;
根据所述目标通信方式对所述待通信数据进行数据通信。
进一步的,所述中断函数包括三芯通信方式的第一解析函数和485通信方式的第二解析函数;
所述通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式包括:
通过第一解析函数确定待通信数据是否符合三芯通信方式;
若符合三芯通信方式,则确定目标通信方式为三芯通信方式;
若不合符三芯通信方式,则通过第二解析函数确定待通信数据是否符合485通信方式;
若符合485通信方式,则确定目标通信方式为485通信方式。
进一步的,所述通过第一解析函数确定待通信数据是否符合三芯通信方式包括:
通过第一数据接收引脚接收待通信数据,并存放至第一数组;
获取所述第一数组中所述待通信数据的校验码;
确认所述校验码是否正确;
若正确,则确定符合三芯通信方式;
若不正确,则确定不符合三芯通信方式;
所述若符合三芯通信方式,则确定目标通信方式为三芯通信方式之后,还包括:
将通信方式标识置为第一标识,并屏蔽485通信方式。
进一步的,所述通过第二解析函数确定待通信数据是否符合485通信方式包括:
通过第二数据接收引脚接收待通信数据,并存放至第二数组;
确定所述第二数组中的待通信数据是否符合Modbus协议;
若符合,则确定符合485通信方式;
所述若符合485通信方式,则确定目标通信方式为485通信方式之后,还包括:
将通信方式标识置为第二标识,并屏蔽三芯通信方式。
进一步的,所述待通信数据为实际摄氏温度数据,
所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
利用第一转换公式将所述实际摄氏温度数据转换成编程摄氏温度数据;
所述第一转换公式为:A=T*2+60,其中,T为实际摄氏温度数据,A为编程摄氏温度数据。
进一步的,所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
接收温度显示指令;
根据温度显示指令,利用第二转换公式将所述实际摄氏温度数据转换为华氏温度数据,所述第二转换公式为:B=T*9/10-22,其中,B为华氏温度数据;
显示所述华氏温度数据。
进一步的,所述待通信数据为目标时间数据,所述目标时间数据包括目标时钟数据和目标分钟数据,
所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
获取当前时间数据,所述当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据;
将所述当前时钟数据修改为目标时钟数据、所述当前分钟数据修改为目标分钟数据,并将所述当前秒钟数据置零。
第二方面,本发明实施例还提供了一种数据通信装置,包括:
函数启动模块,用于启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;
数据解析模块,用于通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;
数据通信模块,用于根据所述目标通信方式对所述待通信数据进行数据通信。
第三方面,本发明实施例还提供了一种数据通信设备,包括:
一个或多个处理器及存储器;
所述存储器用于存储一个或多个程序,当一个或多个程序被所述处理器执行时,使得处理器实现如第一方面所述的数据通信方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的数据通信方法。
上述数据通信方法、装置、设备及存储介质,通过启动中断函数,并接收待通信数据,利用中断函数中各通信方式的解析函数对待通信数据进行解析,以确定待通信数据对应的目标通信方式,并利用目标通信方式的参数处理逻辑对待通信数据进行处理的技术手段,可以解决传统主板程序难以灵活变更设备通信方式的技术问题,通过在程序内部嵌套多种通信方式的解析函数的方式实现了多种通信方式的兼容,无需替换数据通信设备的主板程序,提高了数据通信设备的经济性。
附图说明
图1为本发明实施例提供的一种数据通信方法的流程图;
图2为本发明实施例提供的另一种数据通信方法的流程图;
图3为本发明实施例提供的又一种数据通信方法的流程图;
图4为本发明实施例提供的再一种数据通信方法的流程图;
图5为本发明实施例提供的一种数据通信装置的结构示意图;
图6为本发明实施例提供的一种数据通信设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
图1为本发明实施例提供的一种数据通信方法的流程图。本实施例提供的数据通信方法适用于复用多种通信方式进行数据通信的情况。本实施例提供的数据通信方法可以由数据通信装置执行。该数据通信装置可以通过软件和/或硬件的方式实现,并集成在数据通信设备中。数据通信设备可以是空调产品、热泵产品等设备。
具体的,参考图1,该数据通信方法具体包括:
步骤110、启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数。
具体的,在数据通信设备上电时,先产生中断。其中,该中断的时长可以根据实际情况设定。实施例中,设定中断时长为125us。可选的,设定利用定时器TIM7生成125us的中断。此时,数据通信设备在本次上电过程中,采用的通信方式相同。
进一步的,启动中断函数。其中,中断函数中嵌套有至少两种通信方式的解析函数。即中断程序内容同时嵌套多种不同通信方式的参数控制逻辑。其中,通信方式是指数据通信设备在进行传输数据、解析数据等数据通信的过程中可以采用的方式。实施例中的通信方式具体包含的类型和数量可以根据实际情况设定。解析函数是指通信方式对应的参数控制逻辑,通过解析函数可以确定待通信数据符合的通信方式。一般而言,每个通信方式对应一个解析函数,解析函数的具体数据内容实施例不作限定。可以理解的是,解析函数可以作为对应通信方式的底层驱动。
进一步的,接收待通信数据。示例性的,待通信数据为数据通信设备当前待处理的数据,其可以为数据通信设备从外部获取的数据,如温度数据、湿度数据等,也可以是内部产生的数据,如运行参数等。需要说明的是,在接收到待通信数据时,不明确其具体的通信方式。
可选的,也可以先接收待通信数据,之后,启动中断函数。
步骤120、通过中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式。
具体的,通过中断函数确定待通信数据对应的通信方式,并将该通信方式确定为当前的目标通信方式。其中,在确定目标通信方式时,通过各通信方式对应的解析函数对待通信数据进行解析。
可选的,预先为各通信方式的解析函数设定执行顺序,并按照执行顺序依次使用各解析函数对待通信数据进行解析,若在解析过程中,待通信数据符合某个解析函数的运算规律,则将该解析函数对应的通信方式确定为目标通信方式。需要说明的是,执行顺序的具体排序规则实施例不作限定。
还可选的,预先确认待通信数据的数据格式,并选择与数据格式相符的解析函数,此时,该解析函数可以是一个或多个,之后,再通过解析函数确定待通信数据的目标通信方式。
步骤130、根据所述目标通信方式对所述待通信数据进行数据通信。
示例性的,确定目标通信方式后,启动目标通信方式对应的主板程序,从而运行相应的参数处理逻辑,以实现对待通信数据进行处理。
可选的,确定目标通信方式后,记录目标通信方式,并屏蔽其他通信方式,即屏蔽启动其他通信方式的主板程序,以保证通信的可靠性。
上述,通过启动中断函数,并接收待通信数据,利用中断函数中各通信方式的解析函数对待通信数据进行解析,以确定待通信数据对应的目标通信方式,并利用目标通信方式的参数处理逻辑对待通信数据进行处理的技术手段,可以解决传统主板程序难以灵活变更设备通信方式的技术问题,通过在程序内部嵌套多种通信方式的解析函数的方式实现了多种通信方式的兼容,无需替换数据通信设备的主板程序,提高了数据通信设备的经济性。
图2为本发明实施例提供的另一种数据通信方法的流程图。本实施例在上述实施例的基础上进行具体化。具体的,中断函数包括三芯通信方式的第一解析函数和485通信方式的第二解析函数。其中,三芯通信方式是一种运用归零码的编码方式,其一帧数据包含12个数据,并且带有校验码。三芯通信方式的第一解析函数记为int_timer()。485通信方式是一种半双工通信方式,其一个数据包有90个数据,适用于Modbus协议,其中,Modbus是一种串口通信协议。485通信方式的第二解析函数记为485_comm()。一般而言,待通信数据符合三芯通信方式或485通信方式中的一个。
进一步的,通过中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式包括:通过第一解析函数确定待通信数据是否符合三芯通信方式;若符合三芯通信方式,则确定目标通信方式为三芯通信方式;若不合符三芯通信方式,则通过第二解析函数确定待通信数据是否符合485通信方式;若符合485通信方式,则确定目标通信方式为485通信方式。
进一步的,通过第一解析函数确定待通信数据是否符合三芯通信方式包括:通过第一数据接收引脚接收待通信数据,并存放至第一数组;获取所述第一数组中所述待通信数据的校验码;确认所述校验码是否正确;若正确,则确定符合三芯通信方式;若不正确,则确定不符合三芯通信方式。相应的,所述若符合三芯通信方式,则确定目标通信方式为三芯通信方式之后,还包括:将通信方式标识置为第一标识,并屏蔽485通信方式。
进一步的,所述通过第二解析函数确定待通信数据是否符合485通信方式包括:通过第二数据接收引脚接收待通信数据,并存放至第二数组;确定所述第二数组中的待通信数据是否符合Modbus协议;若符合,则确定符合485通信方式。相应的,所述若符合485通信方式,则确定目标通信方式为485通信方式之后,还包括:将通信方式标识置为第二标识,并屏蔽三芯通信方式。
参考图2,该数据通信方法包括:
步骤210、启动中断函数,并接收待通信数据。
具体的,实施例中设定先运行第一解析函数对待通信数据进行解析。因此,在产生中断后,先启动第一解析函数,即先启动int_timer()。此时,三芯通信电路工作。其中,三芯通信电路的具体电路结构可以根据实际情况设定,通过三芯通信电路可以确定三芯通信方式并实现三芯通信。进一步的,三芯通信电路通过NET信号检测高低电平驱动光耦。其中,NET信号可以认为是一个参考信号,通过NET信号,三芯通信电路确定是否启动以及使第一解析函数获取待通信数据。
步骤220、通过第一解析函数确定待通信数据是否符合三芯通信方式。若符合三芯通信方式,则执行步骤230。若不符合三芯通信方式,则执行步骤240。
具体的,启动第一解析函数后,通过第一解析函数处理待通信数据,以确定待通信数据是否符合专用的三芯通信协议。其中三芯通信协议的具体确定方式实施例不作限定。例如,通过确定待通信数据的校验码是否准确或通过确定待通信数据的数据帧格式等任一方式确定是否符合三芯通信方式。
可选的,实施例中,设定该步骤具体包括:
步骤221、通过第一数据接收引脚接收待通信数据,并存放至第一数组。
具体的,数据通信设备获取待通信数据后,需要使第一解析函数获取待通信数据。此时,在三芯通信电路确认需要获取待通信数据时,微处理器通过RXD引脚接收待通信数据。其中,RXD引脚为输入引脚,实施例中记为第一数据接收引脚。
进一步的,通过第一数据接收引脚接收待通信数据后,将数据存入第一数组中。其中,第一数组记为wrctlr.rxbuf[12]。上述wrctlr.rxbuf为数组名称,rxbuf表示存入数据。[12]表示数组中存储12个元素。
步骤222、获取所述第一数组中所述待通信数据的校验码。
进一步的,由于采用三芯通信方式的数据自带校验码,因此,可以获取待通信数据的校验码。如果能获取到校验码,则可以进一步判断校验码是否准确,即执行步骤223。否则,确定不符合三芯通信方式,之后,执行步骤240。
需要说明的是,校验码在待通信数据的设定位置,因此,可以直接获取该设定位置的数据以得到校验码。
步骤223、确认所述校验码是否正确。若正确,则执行步骤224。若不正确,则执行步骤225。
具体的,确认校验码是否正确的方式实施例不作限定。例如,确定校验码的格式是否准确和/或确定校验码是否为有效数据。进一步的,如果校验码正确,则说明待通信数据准确,进而说明待通信数据符合三芯通信方式数据格式,因此,执行步骤224。否则,执行步骤225。
步骤224、确定符合三芯通信方式。执行步骤230。
步骤225、确定不符合三芯通信方式。执行步骤240。
步骤230、确定目标通信方式为三芯通信方式。执行步骤260。
可选的,确定目标通信方式为三芯通信方式之后,还包括:将通信方式标识置为第一标识,并屏蔽485通信方式。
其中,通信方式标识用于标识当前采用的通信方式。不同的通信方式采用的标识不一样。实施例中,设定通信方式标识为PC1001或PC1002,三芯通信方式对应第一标识。此时,将PC1001或PC1002置为第一标识。可选的,第一标识的具体数值可以根据实际情况设定。例如,第一标识记为1,此时,将PC1001或PC1002置为1。
进一步的,屏蔽485通信方式,即屏蔽485通信方式对应的底层驱动,以保证通信的可靠性。
步骤240、通过第二解析函数确定待通信数据是否符合485通信方式。若符合485通信方式,则执行步骤250。若不符合485通信方式,则停止数据通信。
具体的,确定待通信数据不符合三芯通信方式后,启动第二解析函数,并通过第二解析函数处理待通信数据,以确定待通信数据是否符合专用的485通信协议。其中485通信协议的具体确定方式实施例不作限定。例如,通过设定校验方式确定待通信数据是否准确或通过确定待通信数据的数据格式等任一方式确定是否符合485通信方式。
可选的,实施例中,设定该步骤具体包括:
步骤241、通过第二数据接收引脚接收待通信数据,并存放至第二数组。
具体的,确定不符合三芯通信方式时,自动拉低DE使能引脚,以进入485通信方式验证部分,即启动第二解析函数。此时,启动485电路,并让485电路处于接收状态,以获取存放于第一数组中的待通信数据。其中,485电路的具体电路结构可以根据实际情况设定,485电路可以用于确定485通信方式并实现485通信。
进一步的,485电路接收待通信数据的引脚记为第二数据接收引脚,第二数据接收引脚可以根据实际情况设定。
接收待通信数据后,将待通信数据存放至第二数组中。其中,第二数组记为modbus.RXPointer[]。modbus.RXPointer为数组名称,[]内的数值表示数组中存储元素的个数,例如,[90]表示数组中存储90个元素。需要说明的是,modbus.RXPointer[]仅是一种可选方式,实际应用中,第二数组还可以是其他数组,例如第二数组为RS485.RXbuf[90]。
步骤242、确定所述第二数组中的待通信数据是否符合Modbus协议。若符合,则执行步骤243。否则,停止数据通信。
进一步的,由于485通信方式适用Modbus协议,因此,可以确定待通信数据是否符合Modbus协议。
可选的,在确定待通信数据是否符合Modbus协议时,可以是根据Modbus协议,利用CRC16校验方式对待通信数据进行校验,若验证结果为正确,则确定符合Modbus协议。否则,停止数据通信。
还可选的,在确定待通信数据是否符合Modbus协议时,利用03指令和10指令对待通信数据进行解析,以确定待通信数据是否符合Modbus协议。其中,03指令和10指令分别为数据接收指令和数据发送指令。
步骤243、确定符合485通信方式。执行步骤250。
步骤250、确定目标通信方式为485通信方式。执行步骤260。
可选的,确定目标通信方式为485通信方式之后,还包括:
将通信方式标识置为第二标识,并屏蔽三芯通信方式。
具体的,将PC1001或PC1002置为第二标识。可选的,第二标识的具体数值可以根据实际情况设定。例如,第二标识记为2,此时,将PC1001或PC1002置为2。
步骤260、根据所述目标通信方式对所述待通信数据进行数据通信。
上述,通过在中断函数中设定三芯通信方式的第一解析函数和485通信方式的第二解析函数,并通过第一解析函数和第二解析函数判断待通信数据的目标通信方式的技术手段,实现了三芯通信方式和485通信方式的复用,且将两种通信方式兼容在产品的一个主板程序中,提高了产品的经济性,且可以让产品更好的实现由三芯通信方式向485通信方式的过渡。
图3为本发明实施例提供的又一种数据通信方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,本实施例中,待通信数据为实际摄氏温度数据。数据通信设备具有温度采集功能,其可以通过温度传感器等设备采集数据通信设备当前所在环境的温度数据或数据通信设备自身的温度数据。设定,采集的温度数据为摄氏温度数据,实施例中记为实际摄氏温度数据。
进一步的,根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
利用第一转换公式将所述实际摄氏温度数据转换成编程摄氏温度数据;
所述第一转换公式为:A=T*2+60,其中,T为实际摄氏温度数据,A为编程摄氏温度数据。
参考图3,该数据通信方法具体包括:
步骤310、启动中断函数,并接收实际摄氏温度数据。
步骤320、通过所述中断函数解析实际摄氏温度数据,以确定实际摄氏温度数据对应的目标通信方式。
步骤330、根据所述目标通信方式对实际摄氏温度数据进行数据通信。
步骤340、利用第一转换公式将实际摄氏温度数据转换成编程摄氏温度数据。
具体的,本步骤在根据所述目标通信方式对所述待通信数据进行数据通信之后执行的。进行数据通信后,数据通信设备可以明确当前的实际摄氏温度数据。
示例性的,为了使数据通信设备的程序准确得到温度信息,需要将实际摄氏温度数据转换成程序可以识别的代码。实施例中,将实际摄氏温度数据转换的代码记为编程摄氏温度数据。
进一步的,在转换时利用第一转换公式。所述第一转换公式为:A=T*2+60,其中,T为实际摄氏温度数据,A为编程摄氏温度数据。进一步的,该公式的精度为0.5。通常,设定第一转换公式后,将第一转换公式作为一个函数,在后续使用过程中,只需调用第一转换公式,并将实际摄氏温度数据代入T,便可以得到编程摄氏温度数据A,此时,第一转换公式满足PC1001通信协议。
上述,通过设定第一转换公式,可以根据编程语言(如C语言)的运算规则,采用函数(第一转换公式)调用的方式实现温度转换,进而减少转换时占用的内存。
在上述的基础上,所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
步骤350、接收温度显示指令。
具体的,数据通信设备具备温度显示功能,其可以显示温度数据。实施例中,设定数据通信设备显示的温度数据为华氏温度数据。
进一步的,温度显示指令用于指示数据通信设备显示华氏温度数据,其可以由用户发出,也可以由数据通信设备自行生成。温度显示指令的数据形式可以根据实际情况设定。一般而言,在接收到实际摄氏温度数据后,确定是否需要显示华氏温度数据,即确定是否接收到温度显示指令,如果接收到,则执行步骤360,否则,不进行华氏温度转换。
步骤360、根据温度显示指令,利用第二转换公式将所述实际摄氏温度数据转换为华氏温度数据。
具体的,所述第二转换公式为:B=T*9/10-22,其中,B为华氏温度数据。即在PC1001通信协议中,B为华氏温度数据在程序运行中的代码。进一步的,第二转换公式的精度为1。通过第二转换公式可以得到华氏温度数据,需要说明的是,设定第二转换公式后,将第二转换公式作为一个函数,在后续使用过程中,若确定需要显示华氏温度数据,则只需调用第二转换公式,并将实际摄氏温度数据代入T,便可以得到华氏温度数据B。
步骤370、显示所述华氏温度数据。
具体的,得到华氏温度数据后,显示该华氏温度数据。其中,华氏温度数据的显示方式、显示参数以及显示时长等数据可以根据实际情况进行设定。
进一步的,显示华氏温度数据时,其内部程序运行过程中,仍使用编程摄氏温度数据。
上述,通过设定第二转换公式,可以实现在需要显示华氏温度数据时,通过调用第二转换公式,进行一次温度转换运算,便可以得到华氏温度数据,而此过程仅用于显示所需的华氏温度数据,不改变程序内部运行的编程摄氏温度数据。同时,可以避免采用宏定义摄氏-华氏温度转换公式时运算量较大的问题,减少温度转换时占用的内存。
图4为本发明实施例提供的再一种数据通信方法的流程图。本实施例是在上述实施例的基础上进行具体化。具体的,待通信数据为目标时间数据。示例性的,数据通信设备具有时钟功能,其可以是556时钟或旋钮时钟等。目标时间数据为用户输入的、期望数据通信设备调整的时间数据。进一步的,目标时间数据包括目标时钟数据和目标分钟数据。举例而言,目标时间数据为17:30,那么目标时钟数据为17,目标分钟数据为30。
进一步的,所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:获取当前时间数据,所述当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据;将所述当前时钟数据修改为目标时钟数据、所述当前分钟数据修改为目标分钟数据,并将所述当前秒钟数据置零。
具体的,参考图4,该数据通信方法具体包括:
步骤410、启动中断函数,并接收目标时间数据。
步骤420、通过所述中断函数解析目标时间数据,以确定目标时间数据对应的目标通信方式。
步骤430、根据所述目标通信方式对目标时间数据进行数据通信。
步骤440、获取当前时间数据,所述当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据。
具体的,当前时间数据为数据通信设备当前还未调整的内部时间数据。进一步的,当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据。举例而言,当前时间数据为18:03:36,那么,当前时钟数据为18,当前分钟数据为03,当前秒种数据为36。
需要说明的是,本步骤在根据所述目标通信方式对所述待通信数据进行数据通信之后执行的。进行数据通信后,数据通信设备可以明确目标时间数据。
步骤450、将所述当前时钟数据修改为目标时钟数据、所述当前分钟数据修改为目标分钟数据,并将所述当前秒钟数据置零。
举例而言,目标时间数据为17:30,当前时间数据为18:03:36。此时,将当前时钟数据18修改为目标时钟数据17,当前分钟数据03修改为目标分钟数据30。同时,将当前秒钟数据36清零。此时,当前时间数据更新为17:30:00。
上述,在调整时钟时,通过设定秒钟数据清零,可以保证时钟调整的准确性,减小时间误差。
图5为本发明实施例提供的一种数据通信装置的结构示意图。参考图5,该数据通信装置包括:函数启动模块501、数据解析模块502以及数据通信模块503。
其中,函数启动模块501,用于启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;数据解析模块502,用于通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;数据通信模块503,用于根据所述目标通信方式对所述待通信数据进行数据通信。
上述,通过启动中断函数,并接收待通信数据,利用中断函数中各通信方式的解析函数对待通信数据进行解析,以确定待通信数据对应的目标通信方式,并利用目标通信方式的参数处理逻辑对待通信数据进行处理的技术手段,可以解决传统主板程序难以灵活变更设备通信方式的技术问题,通过在程序内部嵌套多种通信方式的解析函数的方式实现了多种通信方式的兼容,无需替换数据通信设备的主板程序,提高了数据通信设备的经济性。
在上述实施例的基础上,所述中断函数包括三芯通信方式的第一解析函数和485通信方式的第二解析函数;所述数据解析模块502包括:第一解析单元,用于通过第一解析函数确定待通信数据是否符合三芯通信方式;第一确认单元,用于若符合三芯通信方式,则确定目标通信方式为三芯通信方式;第二解析单元,用于若不合符三芯通信方式,则通过第二解析函数确定待通信数据是否符合485通信方式;第二确认单元,用于若符合485通信方式,则确定目标通信方式为485通信方式。
在上述实施例的基础上,第一解析单元包括:第一数据存放子单元,用于通过第一数据接收引脚接收待通信数据,并存放至第一数组;校验码获取子单元,用于获取所述第一数组中所述待通信数据的校验码;校验码确认子单元,用于确认所述校验码是否正确;第一方式确认子单元,用于若正确,则确定符合三芯通信方式;第二方式确认子单元,用于若不正确,则确定不符合三芯通信方式。
在上述实施例的基础上,还包括:第一屏蔽模块,用于若符合三芯通信方式,则确定目标通信方式为三芯通信方式之后,将通信方式标识置为第一标识,并屏蔽485通信方式。
在上述实施例的基础上,第二解析单元包括:第二数据存放子单元,用于若不合符三芯通信方式,则通过第二数据接收引脚接收待通信数据,并存放至第二数组;协议确定子单元,用于确定所述第二数组中的待通信数据是否符合Modbus协议;第三方式确认子单元,用于若符合,则确定符合485通信方式。
在上述实施例的基础上,还包括:第二屏蔽模块,用于若符合485通信方式,则确定目标通信方式为485通信方式之后,将通信方式标识置为第二标识,并屏蔽三芯通信方式。
在上述实施例的基础上,待通信数据为实际摄氏温度数据。数据通信设备还包括:第一温度转换模块,用于根据所述目标通信方式对所述待通信数据进行数据通信之后,利用第一转换公式将所述实际摄氏温度数据转换成编程摄氏温度数据;所述第一转换公式为:A=T*2+60,其中,T为实际摄氏温度数据,A为编程摄氏温度数据。
在上述实施例的基础上,数据通信设备还包括:指令接收模块,用于根据所述目标通信方式对所述待通信数据进行数据通信之后,接收温度显示指令;第二温度转换模块,用于根据温度显示指令,利用第二转换公式将所述实际摄氏温度数据转换为华氏温度数据,所述第二转换公式为:B=T*9/10-22,其中,B为华氏温度数据;温度显示模块,用于显示所述华氏温度数据。
在上述实施例的基础上,待通信数据为目标时间数据,目标时间数据包括目标时钟数据和目标分钟数据。数据通信设备还包括:时间获取模块,用于根据所述目标通信方式对所述待通信数据进行数据通信之后,获取当前时间数据,所述当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据;时间修改模块,用于将所述当前时钟数据修改为目标时钟数据、所述当前分钟数据修改为目标分钟数据,并将所述当前秒钟数据置零。
本发明实施例提供的数据通信装置可用于执行上述任意数据通信方法,具备相应的功能和有益效果。
图6为本发明实施例提供的一种数据通信设备的结构示意图。如图6所示,该数据通信设备包括处理器60、存储器61、输入装置62和输出装置63;数据通信设备中处理器60的数量可以是一个或多个,图6中以一个处理器60为例;数据通信设备中的处理器60、存储器61、输入装置62和输出装置63可以通过总线或其他方式连接,图6中以通过总线连接为例。
存储器61作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据通信方法对应的程序指令/模块(例如,数据通信装置中的函数启动模块501、数据解析模块502和数据通信模块503)。处理器60通过运行存储在存储器61中的软件程序、指令以及模块,从而执行数据通信设备的各种功能应用以及数据处理,即实现上述的数据通信方法。
存储器61可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据数据通信设备的使用所创建的数据等。此外,存储器61可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器61可进一步包括相对于处理器60远程设置的存储器,这些远程存储器可以通过网络连接至数据通信设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置62可用于接收输入的数字或字符信息,以及产生与数据通信设备的用户设置以及功能控制有关的键信号输入。输出装置63可包括显示屏等显示设备。
上述数据通信设备包含数据通信装置,可以用于执行任意数据通信方法,具备相应的功能和有益效果。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种数据通信方法,该数据通信方法包括:
启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;
通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;
根据所述目标通信方式对所述待通信数据进行数据通信。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据通信方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的数据通信方法。
值得注意的是,上述数据通信装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种数据通信方法,其特征在于,包括:
启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;
通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;
根据所述目标通信方式对所述待通信数据进行数据通信。
2.根据权利要求1所述的数据通信方法,其特征在于,所述中断函数包括三芯通信方式的第一解析函数和485通信方式的第二解析函数;
所述通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式包括:
通过第一解析函数确定待通信数据是否符合三芯通信方式;
若符合三芯通信方式,则确定目标通信方式为三芯通信方式;
若不合符三芯通信方式,则通过第二解析函数确定待通信数据是否符合485通信方式;
若符合485通信方式,则确定目标通信方式为485通信方式。
3.根据权利要求2所述的数据通信方法,其特征在于,所述通过第一解析函数确定待通信数据是否符合三芯通信方式包括:
通过第一数据接收引脚接收待通信数据,并存放至第一数组;
获取所述第一数组中所述待通信数据的校验码;
确认所述校验码是否正确;
若正确,则确定符合三芯通信方式;
若不正确,则确定不符合三芯通信方式;
所述若符合三芯通信方式,则确定目标通信方式为三芯通信方式之后,还包括:
将通信方式标识置为第一标识,并屏蔽485通信方式。
4.根据权利要求2所述的数据通信方法,其特征在于,所述通过第二解析函数确定待通信数据是否符合485通信方式包括:
通过第二数据接收引脚接收待通信数据,并存放至第二数组;
确定所述第二数组中的待通信数据是否符合Modbus协议;
若符合,则确定符合485通信方式;
所述若符合485通信方式,则确定目标通信方式为485通信方式之后,还包括:
将通信方式标识置为第二标识,并屏蔽三芯通信方式。
5.根据权利要求1所述的数据通信方法,其特征在于,所述待通信数据为实际摄氏温度数据,
所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
利用第一转换公式将所述实际摄氏温度数据转换成编程摄氏温度数据;
所述第一转换公式为:A=T*2+60,其中,T为实际摄氏温度数据,A为编程摄氏温度数据。
6.根据权利要求5所述数据通信方法,其特征在于,所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
接收温度显示指令;
根据温度显示指令,利用第二转换公式将所述实际摄氏温度数据转换为华氏温度数据,所述第二转换公式为:B=T*9/10-22,其中,B为华氏温度数据;
显示所述华氏温度数据。
7.根据权利要求1所述的数据通信方法,其特征在于,所述待通信数据为目标时间数据,所述目标时间数据包括目标时钟数据和目标分钟数据,
所述根据所述目标通信方式对所述待通信数据进行数据通信之后,还包括:
获取当前时间数据,所述当前时间数据包括当前时钟数据、当前分钟数据以及当前秒钟数据;
将所述当前时钟数据修改为目标时钟数据、所述当前分钟数据修改为目标分钟数据,并将所述当前秒钟数据置零。
8.一种数据通信装置,其特征在于,包括:
函数启动模块,用于启动中断函数,并接收待通信数据,所述中断函数包括至少两种通信方式的解析函数;
数据解析模块,用于通过所述中断函数解析所述待通信数据,以确定所述待通信数据对应的目标通信方式;
数据通信模块,用于根据所述目标通信方式对所述待通信数据进行数据通信。
9.一种数据通信设备,其特征在于,包括:
一个或多个处理器及存储器;
所述存储器用于存储一个或多个程序,当一个或多个程序被所述处理器执行时,使得处理器实现如权利要求1-7中任一所述的数据通信方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的数据通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158773.5A CN111654422A (zh) | 2019-03-04 | 2019-03-04 | 数据通信方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910158773.5A CN111654422A (zh) | 2019-03-04 | 2019-03-04 | 数据通信方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111654422A true CN111654422A (zh) | 2020-09-11 |
Family
ID=72344341
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910158773.5A Withdrawn CN111654422A (zh) | 2019-03-04 | 2019-03-04 | 数据通信方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111654422A (zh) |
-
2019
- 2019-03-04 CN CN201910158773.5A patent/CN111654422A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639737A (zh) | 协议发生装置、数据采集终端的协议转换方法和配置方法 | |
CN114237676B (zh) | 一种fpga逻辑更新方法、装置、设备及可读存储介质 | |
CN110209619B (zh) | 自动匹配多型号驱动器的方法及相关装置 | |
CN113467777A (zh) | 路径识别方法、装置和*** | |
CN112788576B (zh) | 设备离线的处理方法和***、存储介质及电子装置 | |
CN111654422A (zh) | 数据通信方法、装置、设备及存储介质 | |
CN110515842B (zh) | 一种程序调试方法、装置及电子设备和存储介质 | |
CN116700751A (zh) | 一种服务器固件的升级方法及计算设备 | |
CN111221554B (zh) | 一种dsp电路结构、dsp在线程序升级方法及装置 | |
CN105915975B (zh) | 用移动设备更新led屏内容的异步控制***及方法 | |
CN105630654B (zh) | 用于显示bmc的ip地址的***及方法 | |
CN102662716A (zh) | 计算机***中利用网口实现引导启动控制的方法 | |
CN113220345A (zh) | 一种指令块的处理方法、装置、设备及存储介质 | |
CN113326223A (zh) | 一种信息交互、串口配置方法、装置、设备和介质 | |
JP6257768B2 (ja) | ネットワークシステム及び制御装置 | |
CN112015458A (zh) | 设备升级方法、终端设备、电子设备和存储介质 | |
CN111061636B (zh) | 软件自动测试方法、装置、计算机设备及存储介质 | |
CN115079885B (zh) | 双窗口显示的***操控方法、装置、电子设备及存储介质 | |
CN110505136B (zh) | 分层式modbus通讯***及方法 | |
CN106341295B (zh) | 智能平台管理接口设备的通讯方法及装置、通讯设备 | |
CN116186644B (zh) | 人机交互开发方法、装置、存储介质及电子设备 | |
CN113407243B (zh) | 一种配置和调度虚拟i/o模块的方法和装置 | |
US20080141271A1 (en) | Method and system for exchanging data between an input-output module and a processing unit | |
US11803376B2 (en) | Programming support apparatus for developing a user program to be executed by a programmable logic controller | |
CN109587363B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200911 |
|
WW01 | Invention patent application withdrawn after publication |