另外,当程序需要改某个参数时,也可以告诉那些看不懂程序的人帮忙配置,增加程序的维护性。很荣幸的是,Keil MDK就支持这样的方法! 那么如何来实现呢?搜索官方文档里的Configuration Wizard:
这个文档描述得非常详细,也提供了一个配置模板,我们只需要照着文档描述写好相应的格式即可生成一个图形化的配置界面。(注意:Keil并没有那么智能,写完这个模板它并不能立马自动匹配到,需要重新关掉Keil工程再开才能加载成图形配置模板,然后才能够实现即时修改即时响应,这点很多写文章的作者并没有告诉读者这个坑!!!),这里我用的是KeilV5.25的版本,不清楚后面的新版本是否改善了这个问题。
接下来我们新建一个.h或者一个.c文件,然后在.h文件或者.c文件的开头加入:
//<<< Use Configuration Wizard inContextMenu>>>
在文件的结尾加入:
//<<< Use Configuration Wizard inContextMenu>>>
然后重新关掉工程,再继续打开工程,再打开这个文件就可以看到下面这样的效果:
接下来,我们就需要在这对配置向导的开头-结尾中添加我们的配置方法,以下是配置方法的语法规则:
接下来我们根据以上官方网站提供的配置模板以及参数就可以快速的修改出我们想要的配置模板,这里面提供了单选框、复选框、字符串、参数范围定义等多种功能的配置方案。这里我以小熊派为例做的一个配置模板:
//<<< Use Configuration Wizard inContextMenu>>>
#ifndef__BEARPI_CONFIG_H
#define__BEARPI_CONFIG_H
//是否支持调试使能
//DebugConfig
//DebugConfiggeneration
#define_USE_DEBUG
//
//小熊派开发配置,选择E53传感器模组以及IoT通信模组
//BearPiConfig
//SelectE53Module
//Default:E53_IA1
//<0=>E53_IA1
//<1=>E53_SC1
//<2=>E53_SC2
//<3=>E53_SF1
//<4=>E53_IS1
//<5=>E53_ST1
#defineBEARPI_E53_MODULE0
//SelectWANModule
//Default:E53_IA1
//<0=>NB-IoT&Card-NB35-A
//<1=>WIFI-WIFI8266
//<2=>2G-G26
//<3=>HiLink-HiLink710
#defineBEARPI_WAN_MODULE0
//
//是否支持调试LED
//SupportDebugLed
//UsePC13debugled
#define_SUPPORT_DEBUG_LED
//
//是否支持键盘
//SupportKeyBoard
//Supportusingkeyboard
#define_SUPPORT_KEYBOARD
//
//是否支持AT24C02
//SupportAT24C02
//SupportusingAT24C02tostoremoduleparameters
#define_SUPPORT_AT24C02
//
//是否支持W25Q64
//SupportW25Q64
//SupportusingSPIFLASHtostoremoduleparameters
//#define_SUPPORT_W25Q64
//
//是否支持SD卡
//SupportSDCard
//SupportusingSPIFLASHtostoremoduleparameters
#define_SUPPORT_SDCARD
//
//版本信息
//Versioninformation
//version
#defineBEARPI_CONFIG_VERSION"1.0.0"
#endif//__BEARPI_CONFIG_H
//<<< end of configuration section >>>
最终效果如下:
当我们选择了对应的功能以后,宏定义就会自动的为我们修改对应的参数,例如修改版本信息:
20220326
我们可以看到.h文件里的这个宏定义已经修改了这个值:
Keil MDK提供的这个功能真的是单片机工程师的福音啊!!!!
原文标题:可视化的Keil工程配置模板,一招提高单片机开发效率
文章出处:【微信公众号:小麦大叔】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
-
模板
+关注
关注
0文章
108浏览量
20561 -
keil
+关注
关注
68文章
1212浏览量
166843 -
可视化
+关注
关注
1文章
1194浏览量
20934
发布评论请先 登录
相关推荐
评论