CN111414192B - 一种控制器引脚代码自动生成方法 - Google Patents
一种控制器引脚代码自动生成方法 Download PDFInfo
- Publication number
- CN111414192B CN111414192B CN202010242588.7A CN202010242588A CN111414192B CN 111414192 B CN111414192 B CN 111414192B CN 202010242588 A CN202010242588 A CN 202010242588A CN 111414192 B CN111414192 B CN 111414192B
- Authority
- CN
- China
- Prior art keywords
- pin
- character string
- port
- controller
- code
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Programmable Controllers (AREA)
Abstract
本发明提供控制器引脚代码自动生成方法,方法包括:步骤1、制作控制器引脚的配置文件;步骤2、设置控制器引脚的配置字符串数组;步骤3、设置控制器引脚的代码字符串数组;步骤4、读取所述配置文件,生成引脚映射关系代码;步骤5、读取所述配置文件,根据所述配置字符串数组、代码字符串数组生成引脚配置代码;步骤6、将所述引脚映射关系代码和引脚配置代码按照端口和引脚的顺序合成得到控制器引脚代码。本发明实现了控制器引脚代码的自动生成。
Description
技术领域
本发明涉及软件编程技术领域,尤其涉及一种控制器引脚代码自动生成方法。
背景技术
目前,电子产品的功能越来越复杂,所使用的控制器的引脚数量也越来越多,有些多达百个以上。在编码源代码时,通常需要对控制器的引脚进行配置。在现有技术中,一般是软件开发人员一边阅读控制器资料和硬件开发人员提供的设计图,以便手工录入相关配置,不仅耗时长,而且由于控制器的引脚数量较多、每个引脚的配置项也较多,非常容易因为分神或疲劳导致录入错误,并且这种错误非常难以排查,导致效率非常低下。
因此,现有技术有待进一步改进。
发明内容
本发明提供一种控制器引脚代码自动生成方法,旨在解决现有技术中的缺陷,实现控制器引脚代码的自动生成。
为达到上述目的,本发明所采取的技术方案为:
本发明提供一种控制器引脚代码自动生成方法,包括:
步骤1、制作控制器引脚的配置文件;
步骤2、设置控制器引脚的配置字符串数组,所述配置字符串数组由控制器所有引脚相同配置项的参数字符串按照预设顺序构成;
步骤3、设置控制器引脚的代码字符串数组,所述代码字符串数组由控制器源代码中各引脚的配置项按照预设顺序构成;
步骤4、读取所述配置文件,生成引脚映射关系代码;
步骤5、读取所述配置文件,根据所述配置字符串数组、代码字符串数组生成引脚配置代码;
步骤6、将所述引脚映射关系代码和引脚配置代码按照端口和引脚的顺序合成得到控制器引脚代码。
具体地,所述步骤1包括:
步骤101、根据系统设计图的功能定义给控制器的各引脚分配网络名称;
步骤102、根据控制器的各引脚特性定义各配置项名称,所述配置项名称至少包括引脚编号、复用功能,所述引脚编号由连接符连接端口组号与对应的端口号组成。
具体地,所述步骤4包括:
步骤401、遍历所述配置文件中的所述引脚编号、所述网络名称对应的字符串;
步骤402、生成所述网络名称与端口组、端口的映射关系代码。
具体地,所述步骤402包括:
步骤4021、预先定义端口宏名格式、引脚宏名格式,所述端口宏名格式由网络名称合并端口特征符组成,所述引脚宏名格式由网络名称合并引脚特征符组成;
步骤4022、预先定义端口组字符串格式、端口字符串格式,所述端口组字符串由端口特征符与端口组序号构成,所述端口字符串由端口序号构成。
步骤4023、判断当前网络名称字符串是否为空,是则读取下一个网络名称,否则读取对应的引脚名字符串并进入下一步;
步骤4024、将所述当前网络名称字符串赋值给所述端口宏名格式、引脚宏名格式中的网络名称;
步骤4025、根据引脚编号生成端口宏名对应的端口组字符串、引脚宏名对应的端口字符串。
具体地,所述步骤5包括:
步骤501、读取当前引脚编号的配置项的参数字符串;
步骤502、判断所述配置项的参数字符串在配置字符串中的位置序号;
步骤503、根据所述位置序号指定索引编号;
步骤504、根据所述索引编号在对应的代码字符串数组中匹配相应的字符串输出。
进一步地,在所述步骤504之后还包括:
步骤505、判断当前引脚编号对应的网络名称是否为空,是则将当前引脚编号对应的引脚配置为输出模式,并标注为未使用状态。
具体地,所述端口宏名格式为“网络名称_PORT”,对应的端口组字符串格式为“PORTm”;引脚宏名格式为“网络名称_PIN”,对应的端口字符串格式为“n”,其中,m、n为引脚编号的端口组序号对应的端口序号。
具体地,通过表格编辑软件制作所述控制器引脚的配置文件。
具体地,所述表格编辑软件为Excel。
本发明的有益效果在于:本发明通过制作控制器引脚的配置文件,设置控制器引脚的配置字符串数组、代码字符串数组,并通过根据配置文件、配置字符串数组、代码字符串数组,生成控制器引脚代码,实现了控制器引脚代码的自动生成。
附图说明
图1是本发明的控制器引脚代码自动生成方法的流程示意图。
具体实施方式
下面结合附图具体阐明本发明的实施方式,附图仅供参考和说明使用,不构成对本发明专利保护范围的限制。
本发明的实施例提供一种控制器引脚代码自动生成方法,包括:
步骤1、制作控制器引脚的配置文件。
在具体实施时,通过表格编辑软件制作所述控制器引脚的配置文件,所述表格编辑软件可以是Excel等。
在本实施例中,所述步骤1包括:
步骤101、根据系统设计图的功能定义给控制器的各引脚分配网络名称;
步骤102、根据控制器的各引脚特性定义各配置项名称,所述配置项名称至少包括引脚编号、复用功能,所述引脚编号由连接符连接端口组号与对应的端口号组成。
所述配置项名称还可以包括反馈开关状态、上拉下拉、开漏输出状态、输入输出状态、强度/速度,以及输入类型等参数。
例如,引脚编号为Pm_n,其中,“Pm”表示端口组号,“_”表示连接符,“n”表示对Pm端口组应的端口号。
步骤103、对控制器的各引脚的所述配置项设置参数字符串。
例如,对于P1_2引脚的“功能”配置项,包括NMI、INTP5、CSIH0CSS0等参数字符串。
步骤2、设置控制器引脚的配置字符串数组,所述配置字符串数组由控制器所有引脚相同配置项的参数字符串按照预设顺序构成。
控制器所有引脚的相同配置项对应一个配置字符串数组,不同配置项对应不同的配置字符串。
例如,所有引脚的“功能”项对应的配置字符串数组是:
A={
{"P0_0","NMI","CSIH0SSI","TAUJ0I0","INTP5","null","null","RLIN31TX","CSIH0CSS0","TAUJ0O0","OSTM0 TTOUT","null","null"},
{"P0_1","RLIN31RX/INTP0","null","TAUJ0I1","null","null","null","null","CSIH0SO","TAUJ0O1","ERROROUT","null","null"},
……};
步骤3、设置控制器引脚的代码字符串数组,所述代码字符串数组由控制器源代码中各引脚的配置项按照预设顺序构成。
例如,控制器所有引脚的“功能”配置项对应的代码字符串数组是:
A'={"PIN_GPIO,","PIN_ALT_1,","PIN_ALT_2,","PIN_ALT_3,","PIN_ALT_4,","PIN_ALT_5,","PIN_ALT_6,"}
步骤4、读取所述配置文件,生成引脚映射关系代码。
在本实施例中,所述步骤4包括:
步骤401、遍历所述配置文件中的所述引脚编号、所述网络名称对应的字符串;
步骤402、生成所述网络名称与端口组、端口的映射关系代码。
在本实施例中,所述步骤402包括:
步骤4021、预先定义端口宏名格式、引脚宏名格式,所述端口宏名格式由网络名称合并端口特征符组成,所述引脚宏名格式由网络名称合并引脚特征符组成;
步骤4022、预先定义端口组字符串格式、端口字符串格式,所述端口组字符串由端口特征符与端口组序号构成,所述端口字符串由端口序号构成。
在具体实施时,所述端口宏名格式为“网络名称_PORT”,对应的端口组字符串格式为“PORTm”;引脚宏名格式为“网络名称_PIN”,对应的端口字符串格式为“n”,其中,m、n为引脚编号的端口组序号对应的端口序号。
步骤4023、判断当前网络名称字符串是否为空,是则读取下一个网络名称,否则读取对应的引脚名字符串并进入下一步;
步骤4024、将所述当前网络名称字符串赋值给所述端口宏名格式、引脚宏名格式中的网络名称;
步骤4025、根据引脚编号生成端口宏名对应的端口组字符串、引脚宏名对应的端口字符串。
例如,当前读取到的网络名称字符串为KL15_INT、引脚名字符串是“P1_2”,则端口宏名为KL15_INT_PORT,对应的端口组字符串为“PORT1”;引脚宏名为KL15_INT_PIN,对应的端口字符串为“2”。
步骤5、读取所述配置文件,根据所述配置字符串数组、代码字符串数组生成引脚配置代码。
在本实施例中,所述步骤5包括:
步骤501、读取当前引脚编号的配置项的参数字符串;
步骤502、判断所述配置项的参数字符串在配置字符串中的位置序号;
步骤503、根据所述位置序号指定索引编号;
步骤504、根据所述索引编号在对应的代码字符串数组中匹配相应的字符串输出。
例如,当前读取到引脚P1_2的的“功能”配置项的参数字符串为“INTP5”,匹配得到其索引编号为4,根据索引编号4在“功能”代码字符串数组中匹配得到的字符串是“PIN_ALT_4”。
在本发明的另一个实施例中,在所述步骤504之后还包括:
步骤505、判断当前引脚编号对应的网络名称是否为空,是则将当前引脚编号对应的引脚配置为输出模式,并标注为未使用状态。
步骤6、将所述引脚映射关系代码和引脚配置代码按照端口和引脚的顺序合成得到控制器引脚代码。
以上所揭露的仅为本发明的较佳实施例,不能以此来限定本发明的权利保护范围,因此依本发明申请专利范围所作的等同变化,仍属本发明所涵盖的范围。
Claims (6)
1.一种控制器引脚代码自动生成方法,其特征在于,包括:
步骤1、制作控制器引脚的配置文件,包括:
步骤101、根据系统设计图的功能定义给控制器的各引脚分配网络名称;
步骤102、根据控制器的各引脚特性定义各配置项名称,所述配置项名称至少包括引脚编号、复用功能,所述引脚编号由连接符连接端口组号与对应的端口号组成;
步骤2、设置控制器引脚的配置字符串数组,所述配置字符串数组由控制器所有引脚相同配置项的参数字符串按照预设顺序构成;
步骤3、设置控制器引脚的代码字符串数组,所述代码字符串数组由控制器源代码中各引脚的配置项按照预设顺序构成;
步骤4、读取所述配置文件,生成引脚映射关系代码,包括:
步骤401、遍历所述配置文件中的所述引脚编号、所述网络名称对应的字符串;
步骤402、生成所述网络名称与端口组、端口的映射关系代码;
步骤5、读取所述配置文件,根据所述配置字符串数组、代码字符串数组生成引脚配置代码包括:
步骤501、读取当前引脚编号的配置项的参数字符串;
步骤502、判断所述配置项的参数字符串在配置字符串中的位置序号;
步骤503、根据所述位置序号指定索引编号;
步骤504、根据所述索引编号在对应的代码字符串数组中匹配相应的字符串输出;
步骤6、将所述引脚映射关系代码和引脚配置代码按照端口和引脚的顺序合成得到控制器引脚代码。
2.根据权利要求1所述的控制器引脚代码自动生成方法,其特征在于,在所述步骤504之后还包括:
步骤505、判断当前引脚编号对应的网络名称是否为空,是则将当前引脚编号对应的引脚配置为输出模式,并标注为未使用状态。
3.根据权利要求2所述的控制器引脚代码自动生成方法,其特征在于,所述步骤402包括:
步骤4021、预先定义端口宏名格式、引脚宏名格式,所述端口宏名格式由网络名称合并端口特征符组成,所述引脚宏名格式由网络名称合并引脚特征符组成;
步骤4022、预先定义端口组字符串格式、端口字符串格式,所述端口组字符串由端口特征符与端口组序号构成,所述端口字符串由端口序号构成;
步骤4023、判断当前网络名称字符串是否为空,是则读取下一个网络名称,否则读取对应的引脚名字符串并进入下一步;
步骤4024、将所述当前网络名称字符串赋值给所述端口宏名格式、引脚宏名格式中的网络名称;
步骤4025、根据引脚编号生成端口宏名对应的端口组字符串、引脚宏名对应的端口字符串。
4.根据权利要求3所述的控制器引脚代码自动生成方法,其特征在于,所述端口宏名格式为“网络名称_PORT”,对应的端口组字符串格式为“PORTm”;引脚宏名格式为“网络名称_PIN”,对应的端口字符串格式为“n”, 其中,m、n为引脚编号的端口组序号对应的端口序号。
5.根据权利要求4所述的控制器引脚代码自动生成方法,其特征在于,所述步骤1包括:通过表格编辑软件制作所述控制器引脚的配置文件。
6.根据权利要求5所述的控制器引脚代码自动生成方法,其特征在于,所述表格编辑软件为Excel。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242588.7A CN111414192B (zh) | 2020-03-31 | 2020-03-31 | 一种控制器引脚代码自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010242588.7A CN111414192B (zh) | 2020-03-31 | 2020-03-31 | 一种控制器引脚代码自动生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111414192A CN111414192A (zh) | 2020-07-14 |
CN111414192B true CN111414192B (zh) | 2023-09-12 |
Family
ID=71491572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010242588.7A Active CN111414192B (zh) | 2020-03-31 | 2020-03-31 | 一种控制器引脚代码自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111414192B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196953A (zh) * | 2006-12-07 | 2008-06-11 | 富士通株式会社 | 用于设计印刷电路板的cad装置、方法和计算机产品 |
CN101303708A (zh) * | 2008-06-12 | 2008-11-12 | 北京中星微电子有限公司 | 一种芯片引脚复用的代码编码的方法及装置 |
CN103793565A (zh) * | 2014-01-26 | 2014-05-14 | 深圳市兴森快捷电路科技股份有限公司 | 一种快速生成网表的方法 |
CN107864052A (zh) * | 2017-10-30 | 2018-03-30 | 广东亿迅科技有限公司 | 基于持续部署应用配置自动化升级的方法及其系统 |
CN110502799A (zh) * | 2019-07-25 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种芯片引脚自动化配置方法与装置 |
-
2020
- 2020-03-31 CN CN202010242588.7A patent/CN111414192B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196953A (zh) * | 2006-12-07 | 2008-06-11 | 富士通株式会社 | 用于设计印刷电路板的cad装置、方法和计算机产品 |
CN101303708A (zh) * | 2008-06-12 | 2008-11-12 | 北京中星微电子有限公司 | 一种芯片引脚复用的代码编码的方法及装置 |
CN103793565A (zh) * | 2014-01-26 | 2014-05-14 | 深圳市兴森快捷电路科技股份有限公司 | 一种快速生成网表的方法 |
CN107864052A (zh) * | 2017-10-30 | 2018-03-30 | 广东亿迅科技有限公司 | 基于持续部署应用配置自动化升级的方法及其系统 |
CN110502799A (zh) * | 2019-07-25 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种芯片引脚自动化配置方法与装置 |
Non-Patent Citations (1)
Title |
---|
马强等.基于编程语言结构的通用配置代码生成方法.《计算机工程》.2010,第36卷(第18期),54页第2节-55页第3节. * |
Also Published As
Publication number | Publication date |
---|---|
CN111414192A (zh) | 2020-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768970B (zh) | 一种基于可配置的通用协议生成方法 | |
CN109067704B (zh) | 一种卫星遥控指令格式设计与编码管理系统及方法 | |
CN110222381B (zh) | 用于pcb装配的动态安装指引文件生成方法、系统、介质及终端 | |
CN105354036A (zh) | 数据库操作代码生成方法及装置 | |
CN104049976A (zh) | 基于布尔逻辑的联锁软件自动生成系统 | |
CN104267966A (zh) | 软件的程序代码的生成方法及装置 | |
US20120124066A1 (en) | Secs communication device and secs communication method thereof | |
CN114047970A (zh) | 一种autosar架构软件的配置方法及系统 | |
CN110647564A (zh) | Hive建表方法、电子装置及计算机可读存储介质 | |
CN114546394B (zh) | 统一的物联网外设接入与控制方法 | |
JP6524344B2 (ja) | プログラム開発支援装置、列車監視制御装置およびプログラム開発支援方法 | |
CN111414192B (zh) | 一种控制器引脚代码自动生成方法 | |
CN112989433A (zh) | 基于Java Bean校验规则的校验方法及相关设备 | |
CN109388406A (zh) | 转换java代码的方法及装置、存储介质、电子装置 | |
CN111859826A (zh) | Protel网表转allegro文本的方法及工具 | |
CN116634036A (zh) | 一种航电数据接口装置的协议转换配置方法及系统 | |
CN104380308A (zh) | 读入设备、读入结果输出方法和程序 | |
CN115905070A (zh) | 一种激光器控制接口的适配方法、适配装置和可存储介质 | |
CN110489121B (zh) | 一种皮肤包文件的生成方法及系统 | |
CN111025991A (zh) | 一种高密度信号输入输出电路及方法 | |
CN114356430A (zh) | 一种基于airflow调度系统的DAG依赖配置工具 | |
CN111710357A (zh) | Mcu的mtp单元读写控制电路 | |
KR102628135B1 (ko) | 시리얼화 방법, 역시리얼화 방법, 정보 처리 프로그램, 정보 처리 장치 및 통신 시스템 | |
CN109857018B (zh) | 一种数字传感器软模型系统 | |
CN112367206B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |