CN118377489A - 时序控制代码的生成方法、装置及计算机设备 - Google Patents

时序控制代码的生成方法、装置及计算机设备 Download PDF

Info

Publication number
CN118377489A
CN118377489A CN202410507671.0A CN202410507671A CN118377489A CN 118377489 A CN118377489 A CN 118377489A CN 202410507671 A CN202410507671 A CN 202410507671A CN 118377489 A CN118377489 A CN 118377489A
Authority
CN
China
Prior art keywords
time sequence
target
configuration information
control code
template
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
CN202410507671.0A
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.)
Ziguang Computer Technology Co Ltd
Original Assignee
Ziguang Computer Technology 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 Ziguang Computer Technology Co Ltd filed Critical Ziguang Computer Technology Co Ltd
Priority to CN202410507671.0A priority Critical patent/CN118377489A/zh
Publication of CN118377489A publication Critical patent/CN118377489A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及计算机技术领域,公开了一种时序控制代码的生成方法、装置及计算机设备,其中方法包括:解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;根据时序配置信息,确定待定义的目标对象;在预设的代码生成模版中对目标对象进行定义处理;根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。本发明提升了时序控制代码的生成效率和准确性。

Description

时序控制代码的生成方法、装置及计算机设备
技术领域
本发明涉及计算机技术领域,具体涉及时序控制代码的生成方法、装置及计算机设备。
背景技术
随着互联网技术的不断发展,笔记本电脑广泛的深入到人们的工作和生活中。笔记本电脑在开机和关机时,通常是由时序控制程序对开机过程和关机过程进行控制。目前,时序控制程序通常是由研发人员手动进行代码编写得到的,时序控制程序的生成效率低,并且不可避免的会出现人为错误,从而导致编写的时序控制程序不准确。
发明内容
有鉴于此,本发明提供了一种时序控制代码的生成方法、装置及计算机设备,以提升时序控制程序的生成效率和准确性。
第一方面,本发明提供了一种时序控制代码的生成方法,所述方法包括:
解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
根据所述时序配置信息,确定待定义的目标对象;
在预设的代码生成模版中对所述目标对象进行定义处理;
根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法,通过解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;并根据时序配置信息,确定待定义的目标对象;以及,在预设的代码生成模版中对目标对象进行定义处理,并根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。由此,实现了时序控制代码的自动化生成,极大的提升了时序控制代码的生成效率;避免了人为编写代码导致的出错风险,提升了时序控制代码的准确性。再者,由于是基于代码生成模版生成时序控制代码,因此保障了时序控制代码遵循统一的结构和格式,降低了代码的理解难度和维护难度。
在一种可选的实施方式中,所述解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息,包括:
确定目标设备的配置文件包括的多个表单中,是否含有目标状态对应的目标表单;
若是,则从所述目标表单中获取所述目标设备在所述目标状态下的至少一个时序配置信息。
本实施例提供的时序控制代码的生成方法中,由于配置文件可以包括多个表单,因此无需用户针对每个工作状态,一一进行相应配置文件的选择,极大的减少了用户操作,提升了时序控制代码的生成效率。
在一种可选的实施方式中,所述确定所述配置文件包括的多个表单中,是否含有目标状态对应的目标表单,包括:
从所述配置文件中获取每个表单的表单名称;
将所述表单名称与所述目标状态对应的关键字进行匹配处理;
若匹配成功,则确定所述配置文件包括的多个表单中,含有所述目标状态对应的目标表单。
本实施例提供的时序控制代码的生成方法中,通过设置目标状态对应的关键字,并基于关键字匹配确定目标表单,有利于提升时序配置信息的获取效率。
在一种可选的实施方式中,所述根据所述时序配置信息,确定待定义的目标对象,包括:
针对每个所述时序配置信息,确定所述时序配置信息对应的宏变量和功能函数;
将所述宏变量和所述功能函数确定为待定义的目标对象。
本实施例提供的时序控制代码的生成方法中,通过确定时序配置信息对应的宏变量和功能函数,并作为待定义的目标对象,能够在保障时序控制代码的规范性的基础上,满足时序控制代码的时序控制需求。
在一种可选的实施方式中,所述代码生成模版包括变量子模版和函数子模版;所述在预设的代码生成模版中对所述目标对象进行定义处理,包括:
根据所述变量子模版,确定所述宏变量的第一待配置项;
从所述时序配置信息中提取所述第一待配置项的第一配置数据,根据所述第一配置数据和所述第一待配置项,在所述变量子模版中定义所述宏变量;
根据所述函数子模版,确定所述功能函数的第二待配置项;
根据所述时序配置信息、定义的所述宏变量及所述第二待配置项,在所述函数子模版中定义所述功能函数。
本实施例提供的时序控制代码的生成方法中,通过在变量子模版中定义宏变量,并在函数子模版中定义功能函数,不仅能够保障所生成的时序控制代码的规范性,而且能够满足时序控制需求。
在一种可选的实施方式中,所述代码生成模版还包括时序子模板;所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码,包括:
针对每个时序配置信息,从所述时序配置信息中提取控制时长;
根据所述控制时长、所述时序配置信息对应的目标功能函数及控制标识,对所述时序子模板进行配置处理;
对所述配置处理后的各子模板进行渲染处理,得到所述目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法中,利用时序子模版对各时序配置信息对应的控制事件进行定义,不仅实现了时序控制代码的自动化生成,而且保障了生成的时序控制代码遵循统一的结构和格式,降低了时序控制代码的理解难度和维护难度。
在一种可选的实施方式中,所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码,包括:
所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成待优化的时序控制代码;
对所述待优化的时序控制代码进行优化处理,得到所述目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法中,首先生成待优化的时序控制代码,并对待优化的时序控制代码进行优化处理,得到最终的时序控制代码,有效的避免了代码冗余,保障了最终得到的时序控制代码的准确性。
在一种可选的实施方式中,所述解析目标设备的配置文件之前,所述方法还包括:
获取目标地址,根据所述目标地址获取所述目标设备的配置文件;
所述生成所述目标设备的时序控制代码之后,所述方法还包括:
将所述时序控制代码保存至目标文件;
根据所述目标地址确定所述配置文件所在的目标目录;
将所述目标文件保存至所述目标目录中。
本实施例提供的时序控制代码的生成方法中,通过获取目标设备的配置文件的目标地址,并根据目标地址确定配置文件所在的目标目录,以及将生成的时序控制代码保存至目标目录中。不仅保障了配置文件获取的准确性,而且便于用户查找生成的时序控制代码。
第二方面,本发明提供了一种时序控制代码的生成装置,所述装置包括:
解析模块,用于解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
确定模块,用于根据所述时序配置信息,确定待定义的目标对象;
定义模块,用于在预设的代码生成模版中对所述目标对象进行定义处理;
生成模块,用于根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的时序控制代码的生成方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的时序控制代码的生成方法。
第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的时序控制代码的生成方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的时序控制代码的生成方法的流程示意图;
图2是根据本发明实施例的另一时序控制代码的生成方法的流程示意图;
图3是根据本发明实施例的时序控制代码生成工具的人机交互界面的示意图;
图4是根据本发明实施例的又一时序控制代码的生成方法的流程示意图;
图5是根据本发明实施例的再一时序控制代码的生成方法的流程示意图;
图6是根据本发明实施例的再一时序控制代码的生成方法的流程示意图;
图7是根据本发明实施例的时序控制代码的生成装置的结构框图;
图8是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
笔记本电脑在开机和关机时,通常是由时序控制程序对开机过程和关机过程进行控制,例如在开机时,按照一定的顺序,对于不同的管脚,提供不同时长的高电平,以保障笔记本的顺利开机。相关技术中,时序控制程序通常是由研发人员在编程环境中,手动进行代码编写得到的。该时序代码的生成方式中,存在以下问题:第一,精度不高,无法全完满足特定场景的精度需求,需要人工进行调整。第二,可复用性不高,由于不同的硬件和不同的应用场景,往往需要不同的代码生成方案,因此人工编写的时序代码可能只适用于特定场景,在其他场景中无法使用,需要重新进行代码编写,可复用性不高。第三,可读性差,由于不同研发人员的代码编写习惯不同,因此人工编写的时序控制代码往往形式不统一,可能存在难以阅读和理解的问题,需要人工对时序控制代码进行注释。第四,可靠性差,人工编写的时序控制代码不可避免的可能因人为因素而存在错误或漏洞,因此需要花费时间和人力进行测试和验证。第五,学习成本高,笔记本电脑的时序控制涉及到多个硬件模块和软件模块之间的协同工作,需要研发人员具备丰富的硬件和软件知识,或者花费大量时间去学习相关知识。可见,人工手动编写时序控制代码,不仅时序控制代码的生成效率低,而且不可避免的会出现人为错误,从而导致编写的时序控制程序不准确。基于此,本发明提供了时序控制代码的生成方法,通过解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;并根据时序配置信息,确定待定义的目标对象;以及,在预设的代码生成模版中对目标对象进行定义处理,并根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。由此,实现了时序控制代码的自动化生成,极大的提升了时序控制代码的生成效率;避免了人为编写代码导致的出错风险,提升了时序控制代码的准确性。再者,由于是基于代码生成模版生成时序控制代码,因此保障了时序控制代码遵循统一的结构和格式,降低了代码的理解难度和维护难度。
根据本发明实施例,提供了一种时序控制代码的生成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种时序控制代码的生成方法,可用于上述的计算机设备,如手机、平板电脑、台式计算机、便携式笔记本、服务器等,图1是根据本发明实施例的时序控制代码的生成方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;
其中,配置文件可以是由研发人员或其他人员预先根据目标设备的实际情况编写的。配置文件可以包括目标设备的至少一个时序配置信息,还可以包括目标设备的系统配置信息、网络配置信息等。对于配置文件的具体内容可以在实际应用中根据需要自行设定。目标设备可以是任意的笔记本电脑。
时序配置信息可以包括时序控制对应的管脚标识、待控状态(如输入状态、输出状态等)、电平状态(如高电平、低电平等)、控制时长(还可以称为延时)、注释等。作为示例,某个时序配置信息包括以下信息:管脚标识为A0;待控状态为输出状态;电平状态为高电平;注释为SYS_PWROK is high,延迟为1ms。
步骤S102,根据时序配置信息,确定待定义的目标对象。
为了保障生成的时序控制代码具有较好的可读性以及可执行性,首先根据时序配置信息确定待定义的目标对象,并在步骤S103中对该目标对象进行定义处理。
步骤S103,在预设的代码生成模版中对目标对象进行定义处理。
其中,代码生成模版中定义了代码的框架结构和需要配置的配置项。代码生成模版可以是基于Python编程语言编写的。由于Python是一种跨平台的编程语言,其可以在不同的操作系统和硬件平台上运行。因此,基于Python编写代码生成模版,可以使代码生成模版很好地适应不同的开发环境。再者,由于Python具有灵活的语法和丰富的库,因此可以轻松的根据不同的硬件配置和需求进行定制,能够快速地生成适用于特定场景的时序控制代码,满足多样化的场景定制需求。
步骤S104,根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法,通过解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;并根据时序配置信息,确定待定义的目标对象;以及,在预设的代码生成模版中对目标对象进行定义处理,并根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。由此,实现了时序控制代码的自动化生成,极大的提升了时序控制代码的生成效率;避免了人为编写代码导致的出错风险,提升了时序控制代码的准确性。再者,由于是基于代码生成模版生成时序控制代码,因此保障了时序控制代码遵循统一的结构和格式,降低了代码的理解难度和维护难度。
在本实施例中提供了一种时序控制代码的生成方法,可用于上述的计算机设备,如手机、平板电脑、台式计算机、便携式笔记本、服务器等,图2是根据本发明实施例的时序控制代码的生成方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取目标地址,根据目标地址获取目标设备的配置文件。
在一些实施方式中,计算机设备中可以安装时序控制代码生成工具(后文中简称为生成工具),并通过该生成工具进行时序控制代码的生成处理。为了便捷的获取目标设备的配置文件,生成工具包括用户交互界面,该用户交互界面的示意图如图3所示,可以包括选择文件控件、保存控件和退出控件。当用户具有时序控制代码的生成需求时,可以打开该生成工具。生成工具响应于用户的打开操作,展示图3所示的用户交互界面。用户可以操作该用户交互界面中的选择文件控件,选择待解析的配置文件,以将配置文件的目标地址输入到用户交互界面中。用户选择待解析的配置文件之后,可以操作(单击或双击)保存控件,以根据目标地址向生成工具发送代码生成请求。生成工具响应于用户对保存控件的操作,获取代码生成请求,并从代码生成请求中获取目标地址;以及,根据目标地址获取目标设备的配置文件。
需要指出的是,图3仅用于示意而不用于限定,人机交互界面的具体形式可以在实际应用中根据需要自行设定。
步骤S202,解析目标设备的配置文件,得到目标设备的至少一个时序配置信息。
步骤S203,根据时序配置信息,确定待定义的目标对象。
步骤S204,在预设的代码生成模版中对目标对象进行定义处理。
步骤S205,根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。
其中,步骤S202至步骤S205的具体实现方式可参见后文的相关描述,重复之处这里不再赘述。
步骤S206,将时序控制代码保存至目标文件。
步骤S207,根据目标地址确定配置文件所在的目标目录。
具体的,目标地址可以包括多级目录,将目标地址的多级目录中除最后一级目录之外的目录,确定为配置文件所在的目标目录。
作为示例,目标地址为F:\文件夹1\文件夹11\excel1;其中,最后一级目录为excel1,即配置文件的文件名称,则可以确定目标目录为F:\文件夹1\文件夹11。
步骤S208,将目标文件保存至目标录中。
本实施例提供的时序控制代码的生成方法中,通过获取目标设备的配置文件的目标地址,并根据目标地址确定配置文件所在的目标目录,以及将生成的时序控制代码保存至目标目录中。一方面,保障了配置文件获取的准确性;另一方面,便于用户查找生成的时序控制代码。
在本实施例中提供了一种时序控制代码的生成方法,可用于上述的计算机设备,如手机、平板电脑、台式计算机、便携式笔记本、服务器等,图4是根据本发明实施例的时序控制代码的生成方法的流程图,如图4所示,该流程包括如下步骤:
步骤S401,解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
在一些实施方式中,步骤S401可以包括以下步骤S4011和步骤S4012:
步骤S4011,确定目标设备的配置文件包括的多个表单中,是否含有目标状态对应的目标表单;
在一些实施方式中,配置文件可以是Excel表格形式,表格中的每个页面可以视为一个表单,每个表单对应一种类型的配置信息,例如系统配置信息、网络配置信息、时序配置信息等。为了提升时序配置信息的获取效率,在一些实施方式中,可以针对目标设备的每个目标状态设置对应的关键字,并基于该关键字确定目标表单。即步骤S4011可以包括:从配置文件中获取每个表单的表单名称;将表单名称与目标状态对应的关键字进行匹配处理;若匹配成功,则确定配置文件包括的多个表单中,含有目标状态对应的目标表单;若匹配失败,则确定配置文件包括的多个表单中,不含有目标状态对应的目标表单。
其中,目标状态可以随时序控制代码对应的时序类型的不同而不同。例如,时序控制代码用于对目标设备的关机时序进行控制,即时序类型是关机时序;相应的,目标状态可以包括开机到插着充电器的关机状态、插着充电器的关机状态到仅电池供电的关机状态、插着充电器的关机状态到开机状态、仅电池供电的关机状态到插着充电器的关机状态等。又如,时序控制代码用于对目标设备的开机时序进行控制,即时序类型是开机时序;相应的目标状态可以包括关机到插着充电器的开机状态、插着充电器的开机状态到仅电池供电的开机状态、插着充电器的开机状态到关机状态、仅电池供电的开机状态到插着充电器的开机状态等。对于目标状态的具体内容,可以在实际应用中根据需要自行设定,对此本发明中不做具体限定。
进一步的,以时序控制代码用于对目标设备的关机时序进行控制为例进行说明,目标状态中的开机到插着充电器的关机状态对应的关键字可以是S0-S5,插着充电器的关机状态到仅电池供电的关机状态的关键字可以是S5-SX、插着充电器的关机状态到开机状态的关键字可以是S5-S0、仅电池供电的关机状态到插着充电器的关机状态对应的关键字可以是SX-S5。当存在与S0-S5匹配成功的表单名称时,可以确定配置文件包括“开机到插着充电器的关机状态”这一目标状态对应的目标表单;当各表单名称均与S5-SX匹配失败时,则确定配置文件不包括“插着充电器的关机状态到开机状态”这一目标状态对应的目标表单。
进一步的,当配置文件中不包括某个目标状态对应的目标表单时,方法还可以包括:展示提示信息,如获取到代码生成请求,则从代码生成请求中获取目标设备的新的配置文件。其中,提示信息用于提示用户存在缺失的时序配置信息。新的配置文件可以只包括先前的配置文件中缺失的目标状态所对应的时序配置信息,也可以包括各目标状态对应的时序配置信息。
步骤S4012,若是,则从目标表单中获取目标设备在目标状态下的至少一个时序配置信息。
为了便于后续生成时序配置信息,步骤S4012之后,还可以包括:生成内容为空的时序配置信息文件,将获取的时序配置信息保存至时序配置信息文件中,并在后续处理过程中基于时序配置信息文件中的时序配置信息执行相关操作。其中,时序配置信息文件可以是Excel表格形式,也可以是其他文件形式。
在一些实施方式中,目标表单中可以包括目标状态对应的时序配置信息,还可以包括目标状态对应的其他信息,为了保障时序控制代码的准确性,可以预先在目标表单中对需要生成时序控制代码的时序配置信息添加预设标识。相应的,步骤S4012中从目标表单中获取目标设备在目标状态下的至少一个时序配置信息,可以包括从目标表单中获取预设标识对应的至少一个时序配置信息。
步骤S402,根据时序配置信息,确定待定义的目标对象;
步骤S403,在预设的代码生成模版中对目标对象进行定义处理;
步骤S404,根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法中,由于配置文件可以包括多个表单,因此无需用户针对每个工作状态,一一进行相应配置文件的选择,极大的减少了用户操作,提升了时序控制代码的生成效率。
在本实施例中提供了一种时序控制代码的生成方法,可用于上述的计算机设备,如手机、平板电脑、台式计算机、便携式笔记本、服务器等,图5是根据本发明实施例的时序控制代码的生成方法的流程图,如图5所示,该流程包括如下步骤:
步骤S501,解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;
步骤S501的实现方式可参见前文的相关描述,重复之处这里不再赘述。
步骤S502,根据时序配置信息,确定待定义的目标对象;
在一些实施方式中,步骤S502可以包括以下步骤S5021和步骤S5022:
步骤S5021,针对每个时序配置信息,确定时序配置信息对应的宏变量和功能函数;
具体的,针对每个时序配置信息,解析时序配置信息得到时序配置信息对应的宏变量,该宏变量可以表征时序配置信息对应的控制事件;以及,获取时序配置信息中的注释,根据注释确定时序配置信息对应的功能函数。其中,宏变量可以被功能函数引用。
作为示例,目标设备的关机时序对应的某个时序配置信息为:“管脚标识”为A0;“被控状态”为输出状态;“电平状态”是高电平;“注释”为SYS_PWROK is high,延时为1ms。则确定其对应的宏变量表征对A0管脚处于输出状态时,拉高电平的控制事件;根据注释可以确定功能函数是用于拉高电平的函数。
步骤S5022,将宏变量和功能函数确定为待定义的目标对象。
通过确定时序配置信息对应的宏变量和功能函数,并作为待定义的目标对象,能够在保障时序控制代码的规范性的基础上,满足时序控制代码的时序控制需求。
步骤S503,在预设的代码生成模版中对目标对象进行定义处理。
在一些实施方式中,步骤S503可以包括以下步骤S5031至步骤S5034:
步骤S5031,根据代码生成模版中的变量子模版,确定目标对象中宏变量的第一待配置项;
为了便于对不同的内容进行定义,本发明的代码生成模版可以包括变量子模板、函数子模版和时序子模版。其中,变量子模板用于定义宏变量、函数子模版用于定义功能函数,时序子模版用于配置控制事项。相应的,在步骤S5031中,解析代码生成模版中的变量子模版,并将变量子模版中第一预设数据确定为第一待配置项。
作为示例,变量子模板中包括如下内容:
#define GPIO_namecontrol_type;
#define XXX_HIGH()SET_MASK(GPIO_X,BIT(XX))。
第一预设数据包括name、control_type、XXX、X、XX,则将name、control_type、XXX、X确定为第一待配置项。
步骤S5032,从时序配置信息中提取第一待配置项的第一配置数据,根据第一配置数据和第一待配置项,在变量子模版中定义宏变量。
具体的,从时序配置信息中提取第一待配置项的第一配置数据,在变量子模版中,将第一配置数据填充到第一待配置项中,完成宏变量的定义。
序接上述示例,根据时序配置信息“管脚标识”为A0;“被控状态”为输出状态;“电平状态”是高电平;“注释”是SYS_PWROK is high,延时为1ms。提取的第一配置项name的第一配置数据为A0,第一配置项control_type的第一配置数据为输出状态Output,第一配置项XXX的第一配置数据为SYS_PWROK,第一配置项X的第一配置数据为A,第一配置项XX的第一配置数据为0;定义的宏变量如下:
#define GPIO_A0 Output;
#define SYS_PWROK_HIGH()SET_MASK(GPIO_A,BIT(0))。
步骤S5033,根据函数子模版,确定功能函数的第二待配置项。
解析代码生成模版中的函数子模版,并将函数子模版中第二预设数据确定为第二待配置项。
作为示例,函数子模板中包括如下内容:
void PF_function_name_HIGH(void)
{
gpio_name;
}
第二预设数据包括function_name和gpio_name,则将function_name和gpio_name确定为第二待配置项。
步骤S5034,根据时序配置信息、定义的宏变量及第二待配置项,在函数子模版中定义功能函数。
具体的,从时序配置信息中,提取第二待配置项对应的第二配置数据,并确定第二待配置项对应的目标宏变量;以及,确定时序配置信息中是否包括逻辑处理事项,若包括逻辑处理事项,则在函数子模版中将第二配置数据、目标宏变量及逻辑处理事项,填充到相应的第二待配置项,完成功能函数的定义。若不包括逻辑处理事项,则在函数子模版中将第二配置数据及目标宏变量,填充到相应的第二待配置项,完成功能函数的定义。
序接上述示例,根据时序配置信息“管脚标识”为A0;“被控”为输出状态;“电平状态”是高电平;“注释”是SYS_PWROK is high,延时为1ms。提取的第二配置项function_name的第二配置数据为SYS_PWROK,确定第二待配置项gpio_name对应的目标宏变量为SYS_PWROK_HIGH(),且该时序配置信息中不包括逻辑处理事项,则定义的功能函数如下:
void PF_SYS_PWROK_HIGH(void)
{
SYS_PWROK_HIGH();
}
需要指出的是,前述第一预设数据及第二预设数据均可以在实际应用中根据需要自行设定,对此本发明中不做具体限定。由此,基于变量子模版、函数字模板以及时序配置信息,完成了宏变量及功能函数的定义,在时序控制时,即可直接调用相应的功能函数。
由此,通过在变量子模版中定义宏变量,并在函数子模版中定义功能函数,不仅能够保障所生成的时序控制代码的规范性,而且能够满足时序控制需求。
步骤S504,根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。
在一些实施方式中,步骤S504可以包括以下步骤S5041至步骤S5043:
步骤S5041,针对每个时序配置信息,从时序配置信息中提取控制时长;
序接上述示例,针对时序配置信息“管脚标识”为A0;“被控状态”为输出状态;“电平状态”为高电平;“注释”为SYS_PWROK is high,延时为1ms;提取的控制时长为1ms,即1毫秒。
步骤S5042,根据控制时长、时序配置信息对应的目标功能函数及控制标识,对时序子模板进行配置处理;
在一些实施方式中,时序子模板中包括与各目标表单一一对应的第三配置项,第三配置项中包括与目标表单中的每个时序配置信息一一对应的子配置项,子配置项包括需要调用的目标功能函数的函数名称、控制时长、控制标识。控制标识用于表征控制结果。例如,控制成功时,将控制标识设置为1;控制失败时,将控制标识设置为0。
需要指出的是,并非每个时序配置信息中都含有控制标识的配置信息,当时序配置信息中不含有控制标识的配置信息时,相应子配置项中的控制标识可以配置为空,或者配置为默认数据;默认数据例如为11等。
作为示例,目标表单为关键字S0-S5对应的表单,其对应的第三配置项可以是如下形式:
const sPowerSEQ code asPowerSEQS0S5[]{
{Function,delay,flag,}
}
其中,{Function,delay,flag,}为子配置项,可以理解的是,当目标表单中包括N个时序配置信息中,该第三配置项中包括N个子配置项,N为大于等于1的整数,上文中以省略号表示。子配置项中的Function为需要调用的目标功能函数的函数名称,子配置项中的delay为提取的控制时长;flag为控制标识。
步骤S5043,对配置处理后的各子模板进行渲染处理,得到目标设备的时序控制代码。
本实施例提供的时序控制代码的生成方法,根据时序配置信息,利用代码生成模版中的变量子模块对宏变量进行定义,利用代码生成模版中的函数子模板对功能函数进行定义,利用时序子模版对各时序配置信息对应的控制事件进行定义,不仅实现了时序控制代码的自动化生成,而且保障了生成的时序控制代码遵循统一的结构和格式,降低了时序控制代码的理解难度和维护难度。
在本实施例中提供了一种时序控制代码的生成方法,可用于上述的计算机设备,如手机、平板电脑、台式计算机、便携式笔记本、服务器等,图6是根据本发明实施例的时序控制代码的生成方法的流程图,如图6所示,该流程包括如下步骤:
步骤S601,解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;
步骤S602,根据时序配置信息,确定待定义的目标对象;
步骤S603,在预设的代码生成模版中对目标对象进行定义处理;
步骤S601至步骤S603的具体实现方式可参见前文的相关描述,重复之处这里不再赘述。
步骤S604,根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。
在一些实施方式中,步骤S604可以包括以下步骤S6041和步骤S6042:
步骤S6041,根据时序配置信息、代码生成模版和定义的目标对象,生成待优化的时序控制代码;
其中,待优化的时序控制代码的生成过程,可参见前述步骤S5041至步骤S5043的具体实现方式,重复之处这里不再赘述。
步骤S6042,对待优化的时序控制代码进行优化处理,得到目标设备的时序控制代码。
在一些实施方式中,步骤S6042可以包括以下操作中的至少一个:
确定待优化的时序控制代码中是否存在冗余代码;若是,则删除冗余代码。
确定待优化的时序控制代码中,各控制时长的单位是否统一;若不统一,则将各控制时长的单位设置为统一的单位。其中,统一的单位可以是毫秒。
确定待优化的时序控制代码中,是否存在内容为空的第一目标控制时长,若是,则将第一目标控制时长设置为第一时长。其中,第一时长可以是0毫秒。
确定待优化的时序控制代码中,是否存在位于预设范围内的第二目标控制时长;若是,则将第二目标控制时长设置为第二时长。其中,预设范围可以是大于0毫秒且小于1毫秒,第二时长可以是1毫秒。
确定待优化的时序控制代码中,是否存在重复的函数;若是,则删除多余的函数。
本实施例提供的时序控制代码的生成方法中,首先生成待优化的时序控制代码,并对待优化的时序控制代码进行优化处理,得到最终的时序控制代码,有效的避免了代码冗余,保障了时序控制代码的准确性。
在本实施例中还提供了一种时序控制代码的生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种时序控制代码的生成装置,如图7所示,包括:
解析模块701,用于解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
确定模块702,用于根据所述时序配置信息,确定待定义的目标对象;
定义模块703,用于在预设的代码生成模版中对所述目标对象进行定义处理;
生成模块704,用于根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码。
在一些可选的实施方式中,解析模块701包括:
确定单元,用于确定目标设备的配置文件包括的多个表单中,是否含有目标状态对应的目标表单;
获取单元,用于若确定单元的确定结果为是,则从所述目标表单中获取所述目标设备在所述目标状态下的至少一个时序配置信息。
在一些可选的实施方式中,获取单元具体用于:
从所述配置文件中获取每个表单的表单名称;
将所述表单名称与所述目标状态对应的关键字进行匹配处理;
若匹配成功,则确定所述配置文件包括的多个表单中,含有所述目标状态对应的目标表单。
在一些可选的实施方式中,确定模块702包括:
第一确定单元,用于针对每个所述时序配置信息,确定所述时序配置信息对应的宏变量和功能函数;
第二确定单元,用于将所述宏变量和所述功能函数确定为待定义的目标对象。
在一些可选的实施方式中,所述代码生成模版包括变量子模版和函数子模版;相应的,定义模块703包括:
第三确定子单元,用于根据所述变量子模版,确定所述宏变量的第一待配置项;
第一定义子单元,用于从所述时序配置信息中提取所述第一待配置项的第一配置数据,根据所述第一配置数据和所述第一待配置项,在所述变量子模版中定义所述宏变量;
第四确定子单元,用于根据所述函数子模版,确定所述功能函数的第二待配置项;
第二定义子单元,用于根据所述时序配置信息、定义的所述宏变量及所述第二待配置项,在所述函数子模版中定义所述功能函数。
在一些可选的实施方式中,所述代码生成模版还包括时序子模板;相应的,生成模块704包括:
提取单元,用于针对每个时序配置信息,从所述时序配置信息中提取控制时长;
配置单元,用于根据所述控制时长、所述时序配置信息对应的目标功能函数及控制标识,对所述时序子模板进行配置处理;
渲染单元,用于对所述配置处理后的各子模板进行渲染处理,得到所述目标设备的时序控制代码。
在一些可选的实施方式中,生成模块704具体用于:
所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成待优化的时序控制代码;
对所述待优化的时序控制代码进行优化处理,得到所述目标设备的时序控制代码。
在一些可选的实施方式中,装置还包括:获取模块和保存模块;
获取模块,用于在解析模块701解析目标设备的配置文件之前,获取目标地址,根据所述目标地址获取所述目标设备的配置文件;
保存模块,用于在生成模块704生成所述目标设备的时序控制代码之后,将所述时序控制代码保存至目标文件;根据所述目标地址确定所述配置文件所在的目标目录;将所述目标文件保存至所述目标目录中。
本实施例提供的时序控制代码的生成装置,通过解析目标设备的配置文件,得到目标设备的至少一个时序配置信息;并根据时序配置信息,确定待定义的目标对象;以及,在预设的代码生成模版中对目标对象进行定义处理,并根据时序配置信息、代码生成模版和定义的目标对象,生成目标设备的时序控制代码。由此,实现了时序控制代码的自动化生成,极大的提升了时序控制代码的生成效率;避免了人为编写代码导致的出错风险,提升了时序控制代码的准确性。再者,由于是基于代码生成模版生成时序控制代码,因此保障了时序控制代码遵循统一的结构和格式,降低了代码的理解难度和维护难度。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的时序控制代码的生成装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图7所示的时序控制代码的生成装置。
请参阅图8,图8是本发明可选实施例提供的一种计算机设备的结构示意图,如图8所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种时序控制代码的生成方法,其特征在于,所述方法包括:
解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
根据所述时序配置信息,确定待定义的目标对象;
在预设的代码生成模版中对所述目标对象进行定义处理;
根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码。
2.根据权利要求1所述的方法,其特征在于,所述解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息,包括:
确定目标设备的配置文件包括的多个表单中,是否含有目标状态对应的目标表单;
若是,则从所述目标表单中获取所述目标设备在所述目标状态下的至少一个时序配置信息。
3.根据权利要求2所述的方法,其特征在于,所述确定所述配置文件包括的多个表单中,是否含有目标状态对应的目标表单,包括:
从所述配置文件中获取每个表单的表单名称;
将所述表单名称与所述目标状态对应的关键字进行匹配处理;
若匹配成功,则确定所述配置文件包括的多个表单中,含有所述目标状态对应的目标表单。
4.根据权利要求1所述的方法,其特征在于,所述根据所述时序配置信息,确定待定义的目标对象,包括:
针对每个所述时序配置信息,确定所述时序配置信息对应的宏变量和功能函数;
将所述宏变量和所述功能函数确定为待定义的目标对象。
5.根据权利要求4所述的方法,其特征在于,所述代码生成模版包括变量子模版和函数子模版;所述在预设的代码生成模版中对所述目标对象进行定义处理,包括:
根据所述变量子模版,确定所述宏变量的第一待配置项;
从所述时序配置信息中提取所述第一待配置项的第一配置数据,根据所述第一配置数据和所述第一待配置项,在所述变量子模版中定义所述宏变量;
根据所述函数子模版,确定所述功能函数的第二待配置项;
根据所述时序配置信息、定义的所述宏变量及所述第二待配置项,在所述函数子模版中定义所述功能函数。
6.根据权利要求5所述的方法,其特征在于,所述代码生成模版还包括时序子模板;所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码,包括:
针对每个时序配置信息,从所述时序配置信息中提取控制时长;
根据所述控制时长、所述时序配置信息对应的目标功能函数及控制标识,对所述时序子模板进行配置处理;
对所述配置处理后的各子模板进行渲染处理,得到所述目标设备的时序控制代码。
7.根据权利要求1所述的方法,其特征在于,所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码,包括:
所述根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成待优化的时序控制代码;
对所述待优化的时序控制代码进行优化处理,得到所述目标设备的时序控制代码。
8.根据权利要求1所述的方法,其特征在于,所述解析目标设备的配置文件之前,所述方法还包括:
获取目标地址,根据所述目标地址获取所述目标设备的配置文件;
所述生成所述目标设备的时序控制代码之后,所述方法还包括:
将所述时序控制代码保存至目标文件;
根据所述目标地址确定所述配置文件所在的目标目录;
将所述目标文件保存至所述目标目录中。
9.一种时序控制代码的生成装置,其特征在于,所述装置包括:
解析模块,用于解析目标设备的配置文件,得到所述目标设备的至少一个时序配置信息;
确定模块,用于根据所述时序配置信息,确定待定义的目标对象;
定义模块,用于在预设的代码生成模版中对所述目标对象进行定义处理;
生成模块,用于根据所述时序配置信息、所述代码生成模版和定义的所述目标对象,生成所述目标设备的时序控制代码。
10.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至8中任一项所述的时序控制代码的生成方法。
CN202410507671.0A 2024-04-25 2024-04-25 时序控制代码的生成方法、装置及计算机设备 Pending CN118377489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410507671.0A CN118377489A (zh) 2024-04-25 2024-04-25 时序控制代码的生成方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410507671.0A CN118377489A (zh) 2024-04-25 2024-04-25 时序控制代码的生成方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN118377489A true CN118377489A (zh) 2024-07-23

Family

ID=91909301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410507671.0A Pending CN118377489A (zh) 2024-04-25 2024-04-25 时序控制代码的生成方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN118377489A (zh)

Similar Documents

Publication Publication Date Title
CN107491329B (zh) Docker镜像构建方法、设备、存储介质以及电子装置
CN109117131B (zh) 代码生成方法及装置、存储介质及电子终端
US10289959B2 (en) Artificial intelligence and knowledge based automation enhancement
US9632754B2 (en) Auto generation and linkage of source code to test cases
CN108762743B (zh) 一种数据表操作代码生成方法及装置
US9952837B1 (en) Reusable component in a modeling environment
CN103914315A (zh) 驱动程序的配置方法
CN110908894B (zh) 一种基于vuex的可视化报表工具自动化测试方法及装置
US10185472B2 (en) Method for providing a user interface, computer system and computer program product
JP2022019524A (ja) モデリングパラメータの設定方法、装置、デバイス、コンピュータ記憶媒体、及びコンピュータプログラム
CN108256716B (zh) 基于表来配置/执行流程和/或原子流程的方法和设备
CN109766139B (zh) 配置文件的配置方法及装置
CN113986257A (zh) 云平台前端管理界面部署方法、装置及存储介质
CN112230904A (zh) 基于接口文档的代码生成方法、装置、存储介质及服务器
US10733540B2 (en) Artificial intelligence and knowledge based automation enhancement
CN111126010A (zh) Freemaker模板文件修复方法、装置、计算机设备及存储介质
US20180267782A1 (en) Development platform of mobile native applications
CN117421241A (zh) 一种软件测试用例生成方法及装置
CN111352828B (zh) 一种用于黑盒测试的自动测试方法及系统
CN118377489A (zh) 时序控制代码的生成方法、装置及计算机设备
CN116257232A (zh) 基于表格组件的表格生成方法、装置、设备及存储介质
EP3425510B1 (en) Automated testing method for application program user interface, electronic device, system, and storage medium
JP2003303100A (ja) 情報処理システムおよび情報処理システム構築方法並びにこれに用いるプログラム
CN112988139A (zh) 事件处理文件的开发方法与装置
CN112181398A (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