本申请涉及通信技术领域,具体而言,涉及一种基于嵌入式程序的通信方法及装置。
背景技术:
随着工业自动化、智能设备的兴起,自动化、智能化设备越来越多的走进人们的生活,特别是智能化设备与应用软件系统结合,大大提升了无人化、自动化程度。然而,在实践中发现,智能化设备的故障排查、故障恢复相比普通设备要复杂很多,同时维修成本和难度也要大很多。这也就使得在保证系统稳定性的前提下,想要设备快速自动恢复正常,不得不需要人工干预,从而降低了自动化程度,消耗了额外的人力成本。
技术实现要素:
本申请实施例的目的在于提供一种基于嵌入式程序的通信方法及装置,能够明确不同操作任务的指令集,从而能够更好地定位到应用程序、嵌入式程序各自的运行状态,并根据定位结果进行后续的自动化操作,进而能够提高通信自动化程度,避免额外的人力成本消耗。
本申请实施例第一方面提供了一种基于嵌入式程序的通信方法,包括:
在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至所述电脑端程序;
判断是否接收到所述电脑端程序针对所述空闲询问指令发送的确认指令,如果接收到所述确认指令,根据所述预设指令集发送任务请求指令至所述电脑端程序;
判断是否接收到所述电脑端程序针对所述任务请求指令发送的任务响应指令,如果接收到所述任务响应指令,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序。
在上述实现过程中,该基于嵌入式程序的通信方法可以优先控制前置式程序与电脑端程序建立通信连接,并在通信连接建立完成之后,根据预设指令集发送空闲询问指令至电脑端程序;并在接收到电脑端程序针对空闲询问指令发送的确认指令时,根据预设指令集发送任务请求指令至电脑端程序;再在接收到电脑端程序针对任务请求指令发送的任务响应指令时,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。可见,实施这种实施方式,能够将通信过程依附于预设指令集之上,从而使得嵌入式程序能够根据预设指令集准确无误地定位到自动执行的内容与自动执行的位置,进而能够促进后续的自动化操作,并能够提高通信自动化程度。
进一步地,所述根据预设指令集发送空闲询问指令至所述电脑端程序,包括:
将所述嵌入式程序的工作状态设置为第一初始化状态;
根据预设指令集发送空闲询问指令至所述电脑端程序;
将所述第一初始化状态调整为等待接收所述空闲询问指令对应的确认指令的状态。
在上述实现过程中,该方法在根据预设指令集发送空闲询问指令至电脑端程序的过程种可以优先将嵌入式程序的工作状态设置为第一初始化状态;再根据预设指令集发送空闲询问指令至电脑端程序;最后再将第一初始化状态调整为等待接收空闲询问指令对应的确认指令的状态。可见,实施这种实施方式,能够再发送预设指令集中的指令之前预先设置好自己所处的工作状态,并在发送预设指令集中的指令之后自动调整自己所处的工作状态,从而能够实现“指令集-指令-状态”的三位一体,进而提高了该种通信方法的通信稳定性,并便于通信任务的自恢复。
进一步地,当判断出未接收到所述确认指令时,在预设时间段之后判断是否仍未接收到所述确认指令;
如果是,则将所述工作状态由所述等待接收所述确认指令的状态调整为所述第一初始化状态。
在上述实现过程中,该方法可以在未接收到确认指令时,在预设时间段之后再次判断是否仍未接收到确认指令;如果确认仍未接收到确认指令,则将工作状态由等待接收确认指令的状态调整为第一初始化状态。可见,实施这种实施方式,能够在一段时间内判断是否接收到电脑端程序的反馈,并在接收到特定的反馈之后在执行后续的步骤,同时在没有接收到特定的反馈时自动恢复初始化状态,从而能够使得嵌入式程序可以根据特定的指令进行工作或恢复初始化,进而提高了嵌入式程序的自恢复能力以及嵌入式程序工作自动化能力。
进一步地,所述预设指令集包括任务执行指令集、任务执行完成指令集、嵌入式程序状态设置指令集、嵌入式程序状态查询指令集中的其中一种。
在上述实现过程中,该预设指令集中包括的任务执行指令集、任务执行完成指令集、嵌入式程序状态设置指令集、嵌入式程序状态查询指令集能够将嵌入式程序的每一个状态与指令相结合,从而使得嵌入式程序的运行过程更加清晰化,进而能够提高该种通信方法的恢复可靠性。
进一步地,在与所述电脑端程序建立通信连接之后,所述方法还包括:
对所述嵌入式程序进行自检操作,判断所述自检操作的结果是否正常;
如果正常,则执行所述的根据预设指令集发送空闲询问指令至所述电脑端程序。
在上述实现过程中,该方法在与所述电脑端程序建立通信连接之后还可以对所述嵌入式程序进行自检操作,判断所述自检操作的结果是否正常;并在自检操作的结果为正常时,根据预设指令集发送空闲询问指令至所述电脑端程序。可见,实施这种实施方式,能够在嵌入式程序自检无问题的时候进行工作,从而提高整体通信的稳定性。
本申请实施例第二方面提供了一种基于电脑端程序的通信方法,所述基于电脑端程序的通信方法包括:
在与嵌入式程序建立通信连接之后,将所述电脑端程序的工作状态设置为第二初始化状态;
接收所述嵌入式程序发送的空闲询问指令,并在所述第二初始化状态下,根据预设指令集发送针对所述空闲询问指令发送的确认指令;
根据所述预设指令集将所述第二初始化状态调整为等待接收所述嵌入式程序发送任务请求指令的状态;
接收所述任务请求指令,并在所述等待接收所述任务请求指令的状态下,根据所述任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据所述预设指令集发送包括所述目标任务信息的任务响应指令;
根据所述预设指令集将所述等待接收所述任务请求指令的状态调整为等待接收所述嵌入式程序发送通信完成指令的状态;
接收所述嵌入式程序发送的所述通信完成指令,并在所述等待接收所述通信完成指令的状态下,根据所述通信完成指令将所述等待接收所述通信完成指令的状态调整为所述第二初始化状态。
在上述实现过程中,该种基于电脑端程序的通信方法可以在与嵌入式程序建立通信连接之后,将电脑端程序的工作状态设置为第二初始化状态;然后再接收嵌入式程序发送的空闲询问指令,并在第二初始化状态下,根据预设指令集发送针对空闲询问指令发送的确认指令;再根据预设指令集将第二初始化状态调整为等待接收嵌入式程序发送任务请求指令的状态;再接收任务请求指令,并在等待接收任务请求指令的状态下,根据任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据预设指令集发送包括目标任务信息的任务响应指令;再根据预设指令集将等待接收任务请求指令的状态调整为等待接收嵌入式程序发送通信完成指令的状态;最后再接收嵌入式程序发送的通信完成指令,并在等待接收通信完成指令的状态下,根据通信完成指令将等待接收通信完成指令的状态调整为第二初始化状态。可见,实施这种实施方式,能够根据预设指令集进行指令收发以及自身状态调整,从而使得电脑端程序能够与嵌入式程序进行稳定地通信交互,同时也能够增强电脑端程序的工作可恢复能力。
本申请实施例第三方面提供了一种基于嵌入式程序的通信装置,所述基于嵌入式程序的通信装置包括:
发送单元,用于在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至所述电脑端程序;
判断单元,用于判断是否接收到所述电脑端程序针对所述空闲询问指令发送的确认指令,如果接收到所述确认指令,根据所述预设指令集发送任务请求指令至所述电脑端程序;
所述判断单元,还用于判断是否接收到所述电脑端程序针对所述任务请求指令发送的任务响应指令,如果接收到所述任务响应指令,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序。
在上述实现过程中,基于嵌入式程序的通信装置可以通过发送单元在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至电脑端程序;再通过判断单元判断是否接收到电脑端程序针对空闲询问指令发送的确认指令,如果接收到确认指令,根据预设指令集发送任务请求指令至电脑端程序;最后通过判断单元来判断是否接收到电脑端程序针对任务请求指令发送的任务响应指令,如果接收到任务响应指令,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。可见,实施这种实施方式,能够将通信过程依附于预设指令集之上,从而使得嵌入式程序能够根据预设指令集准确无误地定位到自动执行的内容与自动执行的位置,进而能够促进后续的自动化操作,并能够提高通信自动化程度。
本申请实施例第四方面提供了一种基于嵌入式程序的通信系统,所述基于嵌入式程序的通信系统包括嵌入式程序和电脑端程序,其中,
所述嵌入式程序,用于在与所述电脑端程序建立通信连接之后,对所述嵌入式程序进行自检操作,以及当所述自检操作的结果为正常时,将所述嵌入式程序的工作状态设置为第一初始化状态;以及根据预设指令集发送空闲询问指令至所述电脑端程序;以及根据所述预设指令集将所述第一初始化状态调整为等待接收所述空闲询问指令对应的确认指令的状态;
所述电脑端程序,用于在与所述嵌入式程序建立通信连接之后,将所述电脑端程序的工作状态设置为第二初始化状态;以及接收所述空闲询问指令,并在所述第二初始化状态下,根据预设指令集发送针对所述空闲询问指令的确认指令;以及根据所述预设指令集将所述第二初始化状态调整为等待接收所述嵌入式程序发送任务请求指令的状态;
所述嵌入式程序,用于接收所述确认指令,以及在所述等待接收所述确认指令的状态下,根据所述预设指令集发送任务请求指令至所述电脑端程序;以及根据所述预设指令集将所述等待接收所述确认指令的状态调整为等待接收所述电脑端程序发送任务响应指令的状态;
所述电脑端程序,用于接收所述任务请求指令,并在所述等待接收所述任务请求指令的状态下,根据所述任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据所述预设指令集发送包括所述目标任务信息的任务响应指令;以及根据所述预设指令集将所述等待接收所述任务请求指令的状态调整为等待接收所述嵌入式程序发送通信完成指令的状态;
所述嵌入式程序,用于接收所述任务响应指令,并在所述等待接收所述任务响应指令的状态下,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序;以及将所述等待接收所述任务响应指令的状态调整为所述第一初始化状态;
所述嵌入式程序,用于接收所述通信完成指令,并在所述等待接收所述通信完成指令的状态下,根据所述通信完成指令将所述等待接收所述通信完成指令的状态调整为所述第二初始化状态。
在上述实现过程中,该通信系统可以实现嵌入式程序和电脑端程序之间的稳定通信,同时还能够准确定位到电脑端程序、嵌入式程序各自的运行状态与通信状态,从而使得通信过程更加清晰可控。同时,使用相互隔离的通信指令集,可以使得同一时间只能有一个指令集执行,从而能够屏蔽其他指令的干扰,提高整体系统工作的稳定性。另外,当某个指令集通信异常(串口信息发送失败等)时,电脑端程序和嵌入式程序可以在等待一段时间后自动复原到初始状态,并重新建立通信,实现自动恢复运行,从而能够保障每次任务的顺利执行,进而使得整个系统在不需要人工干预的情况下,正常稳定的进行工作。
本申请实施例第五方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的基于嵌入式程序的通信方法。
本申请实施例第六方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的基于嵌入式程序的通信方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种基于嵌入式程序的通信方法的流程示意图;
图2为本申请实施例提供的另一种基于嵌入式程序的通信方法的流程示意图;
图3为本申请实施例提供的一种基于电脑端程序的通信方法的流程示意图;
图4为本申请实施例提供的一种基于嵌入式程序的通信装置的结构示意图;
图5为本申请实施例提供的一种基于嵌入式程序的通信系统的信息交互流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
实施例1
请参看图1,图1为本申请实施例提供了一种基于嵌入式程序的通信方法的流程示意图。该方法应用于双端通信场景当中,具体的,该方法应用于电脑端程序与嵌入式程序两者相互通信的过程当中。其中,该基于嵌入式程序的通信方法包括:
s101、在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至电脑端程序。
本实施例中,预设指令集为预设任务对应的指令集合,即该预设指令集仅对应一个任务,以避免任务之间的指令冲突导致的问题出现。
本实施例中,嵌入式程序可以为任何设备中使用的嵌入式的程序,对此本实施例中不作任何限定。
s102、判断是否接收到电脑端程序针对空闲询问指令发送的确认指令,如果接收到确认指令,根据预设指令集发送任务请求指令至电脑端程序。
s103、判断是否接收到电脑端程序针对任务请求指令发送的任务响应指令,如果接收到任务响应指令,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的基于嵌入式程序的通信方法,能够优先控制前置式程序与电脑端程序建立通信连接,并在通信连接建立完成之后,根据预设指令集发送空闲询问指令至电脑端程序;并在接收到电脑端程序针对空闲询问指令发送的确认指令时,根据预设指令集发送任务请求指令至电脑端程序;再在接收到电脑端程序针对任务请求指令发送的任务响应指令时,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。可见,实施这种实施方式,能够将通信过程依附于预设指令集之上,从而使得嵌入式程序能够根据预设指令集准确无误地定位到自动执行的内容与自动执行的位置,进而能够促进后续的自动化操作,并能够提高通信自动化程度。
实施例2
请参看图2,图2为本申请实施例提供的一种基于嵌入式程序的通信方法的流程示意图。如图2所示,其中,该基于嵌入式程序的通信方法包括:
s201、在与电脑端程序建立通信连接之后,对嵌入式程序进行自检操作,判断自检操作的结果是否正常,若是,则执行步骤s202-s205;若否,则结束本流程。
本实施例中,对于程序如何自检本实施例中不做任何限定。
s202、将嵌入式程序的工作状态设置为第一初始化状态。
本实施例中,第一初始化状态为嵌入式程序的初始化状态。
s203、根据预设指令集发送空闲询问指令至电脑端程序。
本实施例中,该过程可以为在预设指令集中提取空闲询问指令并发送至电脑端程序。
s204、将第一初始化状态调整为等待接收空闲询问指令对应的确认指令的状态。
本实施例中,该方法可以根据操作指令自行更替自身状态,从而使得自身状态更加清晰,有利于状态更新与问题定位。
s205、判断是否接收到电脑端程序针对空闲询问指令发送的确认指令,若是,则执行步骤s208;若否,则执行步骤s206。
s206、在预设时间段之后判断是否仍未接收到确认指令,若是,则执行步骤s207并触发执行步骤s205;若否,则结束本流程。
s207、将工作状态由等待接收确认指令的状态调整为第一初始化状态。
本实施例中,步骤s207执行完成之后可以触发执行步骤s205。
s208、根据预设指令集发送任务请求指令至电脑端程序。
s209、判断是否接收到电脑端程序针对任务请求指令发送的任务响应指令,若是,则执行步骤s210;若否,则结束本流程。
s210、根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。
可见,实施本实施例所描述的基于嵌入式程序的通信方法,能够将通信过程依附于预设指令集之上,从而使得嵌入式程序能够根据预设指令集准确无误地定位到自动执行的内容与自动执行的位置,进而能够促进后续的自动化操作,并能够提高通信自动化程度。
实施例3
请参看图3,图3为本申请实施例提供了一种基于嵌入式程序的通信方法的流程示意图。该方法应用于双端通信场景当中,具体的,该方法应用于电脑端程序与嵌入式程序两者相互通信的过程当中。其中,该基于嵌入式程序的通信方法包括:
s301、在与嵌入式程序建立通信连接之后,将电脑端程序的工作状态设置为第二初始化状态。
本实施例中,第二初始化状态为电脑端程序的初始化状态。
s302、接收嵌入式程序发送的空闲询问指令,并在第二初始化状态下,根据预设指令集发送针对空闲询问指令发送的确认指令。
s303、根据预设指令集将第二初始化状态调整为等待接收嵌入式程序发送任务请求指令的状态。
s304、接收任务请求指令,并在等待接收任务请求指令的状态下,根据任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据预设指令集发送包括目标任务信息的任务响应指令。
s305、根据预设指令集将等待接收任务请求指令的状态调整为等待接收嵌入式程序发送通信完成指令的状态。
s306、接收嵌入式程序发送的通信完成指令,并在等待接收通信完成指令的状态下,根据通信完成指令将等待接收通信完成指令的状态调整为第二初始化状态。
本申请实施例中,该方法的执行主体可以为计算机、服务器等计算装置,对此本实施例中不作任何限定。
在本申请实施例中,该方法的执行主体还可以为智能手机、平板电脑等智能设备,对此本实施例中不作任何限定。
可见,实施本实施例所描述的基于嵌入式程序的通信方法,能够在与嵌入式程序建立通信连接之后,将电脑端程序的工作状态设置为第二初始化状态;然后再接收嵌入式程序发送的空闲询问指令,并在第二初始化状态下,根据预设指令集发送针对空闲询问指令发送的确认指令;再根据预设指令集将第二初始化状态调整为等待接收嵌入式程序发送任务请求指令的状态;再接收任务请求指令,并在等待接收任务请求指令的状态下,根据任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据预设指令集发送包括目标任务信息的任务响应指令;再根据预设指令集将等待接收任务请求指令的状态调整为等待接收嵌入式程序发送通信完成指令的状态;最后再接收嵌入式程序发送的通信完成指令,并在等待接收通信完成指令的状态下,根据通信完成指令将等待接收通信完成指令的状态调整为第二初始化状态。可见,实施这种实施方式,能够根据预设指令集进行指令收发以及自身状态调整,从而使得电脑端程序能够与嵌入式程序进行稳定地通信交互,同时也能够增强电脑端程序的工作可恢复能力。
实施例4
请参看图4,图4为本申请实施例提供的一种基于嵌入式程序的通信装置的结构示意图。如图4所示,该基于嵌入式程序的通信装置包括:
发送单元410,用于在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至电脑端程序;
判断单元420,用于判断是否接收到电脑端程序针对空闲询问指令发送的确认指令,如果接收到确认指令,根据预设指令集发送任务请求指令至电脑端程序;
判断单元420,还用于判断是否接收到电脑端程序针对任务请求指令发送的任务响应指令,如果接收到任务响应指令,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。
本实施例中,判断单元420包括:
判断子单元421,用于判断是否接收到电脑端程序针对空闲询问指令发送的确认指令;
发送子单元422,用于在接收到确认指令时,根据预设指令集发送任务请求指令至电脑端程序。
本实施例中,判断单元420包括:
判断子单元421,还用于判断是否接收到电脑端程序针对任务请求指令发送的任务响应指令;
发送子单元422,还用于在接收到任务响应指令时,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序。
本申请实施例中,对于基于嵌入式程序的通信装置的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的基于嵌入式程序的通信装置,能够将通信过程依附于预设指令集之上,从而使得嵌入式程序能够根据预设指令集准确无误地定位到自动执行的内容与自动执行的位置,进而能够促进后续的自动化操作,并能够提高通信自动化程度。
实施例5
请参看图5,图5为本申请实施例提供的一种基于嵌入式程序500的通信系统的信息交互流程示意图。如图5所示,该基于嵌入式程序500的通信系统包括嵌入式程序500和电脑端程序600,其中,
嵌入式程序500,用于在与电脑端程序600建立通信连接之后,对嵌入式程序500进行自检操作,以及当自检操作的结果为正常时,将嵌入式程序500的工作状态设置为第一初始化状态;以及根据预设指令集发送空闲询问指令至电脑端程序600;以及根据预设指令集将第一初始化状态调整为等待接收空闲询问指令对应的确认指令的状态;
电脑端程序600,用于在与嵌入式程序500建立通信连接之后,将电脑端程序600的工作状态设置为第二初始化状态;以及接收空闲询问指令,并在第二初始化状态下,根据预设指令集发送针对空闲询问指令的确认指令;以及根据预设指令集将第二初始化状态调整为等待接收嵌入式程序500发送任务请求指令的状态;
嵌入式程序500,用于接收确认指令,以及在等待接收确认指令的状态下,根据预设指令集发送任务请求指令至电脑端程序600;以及根据预设指令集将等待接收确认指令的状态调整为等待接收电脑端程序600发送任务响应指令的状态;
电脑端程序600,用于接收任务请求指令,并在等待接收任务请求指令的状态下,根据任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据预设指令集发送包括目标任务信息的任务响应指令;以及根据预设指令集将等待接收任务请求指令的状态调整为等待接收嵌入式程序500发送通信完成指令的状态;
嵌入式程序500,用于接收任务响应指令,并在等待接收任务响应指令的状态下,根据任务响应指令执行相应的操作,并根据预设指令集发送本次通信完成指令至电脑端程序600;以及将等待接收任务响应指令的状态调整为第一初始化状态;
嵌入式程序500,用于接收通信完成指令,并在等待接收通信完成指令的状态下,根据通信完成指令将等待接收通信完成指令的状态调整为第二初始化状态。
本实施例中,程序指令通讯可以按照发起端进行区分,其中,te(指代嵌入式程序)->pc(指代电脑端程序),代表嵌入式程序主动向电脑端程序进行通信,且发起指令起始符以q开始,应答指令起始符以t开始;
pc->te,代表电脑端程序主动向嵌入式程序进行通信,且发起指令起始符以b开始,应答指令起始符以g开始。
举例来说,以执行指令p指令集为例,其中,具体过程可以包括:
①te发送请求指令q,p,1【1】
②pc收到q,p,1后回复确认指令t,p,1【2】,用来确认收到了q,p,1指令,而非其他指令
③te收到t,p,1后发送任务请求指令q,p,2【3】
④pc收到q,p,2后发送任务执行指令确认指令t,p,2,...【4】,(t,p,2,后面携带从pc系统获取相关信息的执行指令,此处用省略号代替)
⑤te收到t,p,2...后,发送确认指令q,p,3后,同时执行设备操作,te此次通信结束。
⑥pc收到q,p,3后此次通信结束。
在本实施例中,当te和pc进入p通信指令集后,双方都不会再接收其它通信指令,包括新的p指令,从而能够确保整个通信过程中只有一个通信任务,避免其他通信任务的干扰。
在本实施例中,如果p指令集或者其它指令集通信中断,可以约定时间(100秒),并在该约定时间过后使得te自动恢复到初始状态,pc自动恢复到初始状态。
在本实施例中,指令集合可以包括包括:p指令集(任务执行指令集)、f指令集(任务执行完成指令集)、w指令集(te状态设置指令集)以及c指令集(te状态查询指令集)。
在本实施例中,指令集优先级排序为:p指令集>f指令集>w指令集>c指令集。
本申请实施例中,对于基于嵌入式程序的通信系统的解释说明可以参照实施例1或实施例2中的描述,对此本实施例中不再多加赘述。
可见,实施本实施例所描述的基于嵌入式程序的通信系统,能够实现嵌入式程序和电脑端程序之间的稳定通信,同时还能够准确定位到电脑端程序、嵌入式程序各自的运行状态与通信状态,从而使得通信过程更加清晰可控。同时,使用相互隔离的通信指令集,可以使得同一时间只能有一个指令集执行,从而能够屏蔽其他指令的干扰,提高整体系统工作的稳定性。另外,当某个指令集通信异常(串口信息发送失败等)时,电脑端程序和嵌入式程序可以在等待一段时间后自动复原到初始状态,并重新建立通信,实现自动恢复运行,从而能够保障每次任务的顺利执行,进而使得整个系统在不需要人工干预的情况下,正常稳定的进行工作。
本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例1或实施例2中任一项基于嵌入式程序的通信方法。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例1或实施例2中任一项基于嵌入式程序的通信方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种基于嵌入式程序的通信方法,其特征在于,包括:
在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至所述电脑端程序;
判断是否接收到所述电脑端程序针对所述空闲询问指令发送的确认指令,如果接收到所述确认指令,根据所述预设指令集发送任务请求指令至所述电脑端程序;
判断是否接收到所述电脑端程序针对所述任务请求指令发送的任务响应指令,如果接收到所述任务响应指令,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序。
2.根据权利要求1所述的基于嵌入式程序的通信方法,其特征在于,所述根据预设指令集发送空闲询问指令至所述电脑端程序,包括:
将所述嵌入式程序的工作状态设置为第一初始化状态;
根据预设指令集发送空闲询问指令至所述电脑端程序;
将所述第一初始化状态调整为等待接收所述空闲询问指令对应的确认指令的状态。
3.根据权利要求2所述的基于嵌入式程序的通信方法,其特征在于,所述方法还包括:
当判断出未接收到所述确认指令时,在预设时间段之后判断是否仍未接收到所述确认指令;
如果是,则将所述工作状态由所述等待接收所述确认指令的状态调整为所述第一初始化状态。
4.根据权利要求1所述的基于嵌入式程序的通信方法,其特征在于,所述预设指令集包括任务执行指令集、任务执行完成指令集、嵌入式程序状态设置指令集、嵌入式程序状态查询指令集中的其中一种。
5.根据权利要求1所述的基于嵌入式程序的通信方法,其特征在于,在与所述电脑端程序建立通信连接之后,所述方法还包括:
对所述嵌入式程序进行自检操作,判断所述自检操作的结果是否正常;
如果正常,则执行所述的根据预设指令集发送空闲询问指令至所述电脑端程序。
6.一种基于电脑端程序的通信方法,其特征在于,包括:
在与嵌入式程序建立通信连接之后,将所述电脑端程序的工作状态设置为第二初始化状态;
接收所述嵌入式程序发送的空闲询问指令,并在所述第二初始化状态下,根据预设指令集发送针对所述空闲询问指令发送的确认指令;
根据所述预设指令集将所述第二初始化状态调整为等待接收所述嵌入式程序发送任务请求指令的状态;
接收所述任务请求指令,并在所述等待接收所述任务请求指令的状态下,根据所述任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据所述预设指令集发送包括所述目标任务信息的任务响应指令;
根据所述预设指令集将所述等待接收所述任务请求指令的状态调整为等待接收所述嵌入式程序发送通信完成指令的状态;
接收所述嵌入式程序发送的所述通信完成指令,并在所述等待接收所述通信完成指令的状态下,根据所述通信完成指令将所述等待接收所述通信完成指令的状态调整为所述第二初始化状态。
7.一种基于嵌入式程序的通信装置,其特征在于,所述基于嵌入式程序的通信装置包括:
发送单元,用于在与电脑端程序建立通信连接之后,根据预设指令集发送空闲询问指令至所述电脑端程序;
判断单元,用于判断是否接收到所述电脑端程序针对所述空闲询问指令发送的确认指令,如果接收到所述确认指令,根据所述预设指令集发送任务请求指令至所述电脑端程序;
所述判断单元,还用于判断是否接收到所述电脑端程序针对所述任务请求指令发送的任务响应指令,如果接收到所述任务响应指令,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序。
8.一种基于嵌入式程序的通信系统,其特征在于,所述基于嵌入式程序的通信系统包括嵌入式程序和电脑端程序,其中,
所述嵌入式程序,用于在与所述电脑端程序建立通信连接之后,对所述嵌入式程序进行自检操作,以及当所述自检操作的结果为正常时,将所述嵌入式程序的工作状态设置为第一初始化状态;以及根据预设指令集发送空闲询问指令至所述电脑端程序;以及根据所述预设指令集将所述第一初始化状态调整为等待接收所述空闲询问指令对应的确认指令的状态;
所述电脑端程序,用于在与所述嵌入式程序建立通信连接之后,将所述电脑端程序的工作状态设置为第二初始化状态;以及接收所述空闲询问指令,并在所述第二初始化状态下,根据预设指令集发送针对所述空闲询问指令的确认指令;以及根据所述预设指令集将所述第二初始化状态调整为等待接收所述嵌入式程序发送任务请求指令的状态;
所述嵌入式程序,用于接收所述确认指令,以及在所述等待接收所述确认指令的状态下,根据所述预设指令集发送任务请求指令至所述电脑端程序;以及根据所述预设指令集将所述等待接收所述确认指令的状态调整为等待接收所述电脑端程序发送任务响应指令的状态;
所述电脑端程序,用于接收所述任务请求指令,并在所述等待接收所述任务请求指令的状态下,根据所述任务请求指令从预设的电脑业务系统中获取目标任务信息,并根据所述预设指令集发送包括所述目标任务信息的任务响应指令;以及根据所述预设指令集将所述等待接收所述任务请求指令的状态调整为等待接收所述嵌入式程序发送通信完成指令的状态;
所述嵌入式程序,用于接收所述任务响应指令,并在所述等待接收所述任务响应指令的状态下,根据所述任务响应指令执行相应的操作,并根据所述预设指令集发送本次通信完成指令至所述电脑端程序;以及将所述等待接收所述任务响应指令的状态调整为所述第一初始化状态;
所述嵌入式程序,用于接收所述通信完成指令,并在所述等待接收所述通信完成指令的状态下,根据所述通信完成指令将所述等待接收所述通信完成指令的状态调整为所述第二初始化状态。
9.一种电子设备,其特征在于,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行权利要求1至5中任一项所述的基于嵌入式程序的通信方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行权利要求1至5任一项所述的基于嵌入式程序的通信方法。
技术总结