Use Configuration Wizard in Context Menu

本文介绍了Keil的ConfigurationWizard,一种图形化配置工具,通过在代码文件的注释中使用特定语法创建配置菜单,无需修改代码。文章详细讲解了启用方法、语法规则和实际应用示例。
摘要由CSDN通过智能技术生成

keil 用户向导使用方法

1 什么是Configuration Wizard

Configuration Wizard翻译过来即配置向导,它是由具有特殊规则的语法构成的图形化配置菜单,可通过在图形化界面配置程序相关参数,而不需要在具体的代码中修改。Configuration Wizard有点类似于Markdown,所见即所写,它使用文件注释的形式来构建菜单,它支持汇编、C/C++以及初始化文件(如.s文件)。

如下图,先展示一张直观的配置界面,再以此界面以及源码来详细地介绍它的实现方法。

2 如何启用Configuration Wizard

常用的,在.c或.h文件中,在注释中包含以下注释代码,才能使用配置向导,并且该注释代码必须放在代码文件的前100行以内。

// <<< Use Configuration Wizard in Context Menu >>>

下面的注释代码可以明确的结束配置向导,不是必须添加的。

// <<< end of configuration section >>>

在前面的介绍中,配置向导我写在myconfig.h中,当我们添加了以上注释代码启用配置向导后,需要关掉myconfig.h文件,再打开它,在文件的左下角就会出现Text EditorConfiguration Wizard两个界面选项,它们分别对应程序源码和配置界面。

用例:

//<<<Use Configuration Wizard in Context Menu>>>

//<o> User mode <1=> mode1 <2=> mode2 <3=> mode3 <4=> mode4 <5=> mode5 <6=> mode6
#define USER_MODE_DEFAULT_VAL        (1u)

//<o> Read direction
//        <0=> forward <1=> reverse
#define READ_DIRECTION_DEFAULT_VAL (0u)

//<o> Set PWM duty <0-255>
#define PWM_COMPAREVAL_DEFAULT_VAL                                        (128u)

//<<<end of configuration section>>>

3 语法规则

如果有接触过HTML语法的朋友,这里就非常容易理解了,它的功能标签一部分是以<*>和</*>这个格式成对出现,其中*代表不同的功能标签。

1)标签h

通过使用<h>和</h>来设置一个分组,它可以在配置向导中进行折叠。

// <h> 分组标题
// …
// </h>

2)标签i

使用<i>+提示内容来设置对上一个配置项的提示(当鼠标移动到配置项时显示提示内容),可以配置多行。

// <i> 提示内容

3)标签e

使用<e>和</e>来设置一个分组,该类分组可以整体被禁止或使能,也可以在配置向导中进行折叠。当禁止时无法修改配置该组内容,组内文字变灰暗;反之即可修改内容。需要注意的是对于<e>,还有一个规则<en1.n2>,比如e1.2表示修改该配置项下面出现的第2个配置参数的第2位(0位开始),它只能修改一个位,可以嵌套使用。多说一点,单独的e实际上为e0.0,默认第0个参数的第0位,标签o、q相同。

// <e> 使能分组标题
// …
// </e>

4)标签o

使用标签o可以在配置界面添加一个数值修改框或使能框(只修改一个位时),它于标签e同样还有添加规则<on1.n2>和<on1.n2..n3>,比如<o.1>表示修改该配置项下面出现的第1个配置参数的第1位,它只修改一个位;比如<o3.2..5>表示修改该配置项下面出现的第4个配置参数的第2到5位,它可以修改多个位。

// <o> 标题内容

可以设置修改范围,

// <o> 标题内容 <最小值-最大值>

也可以设置修改范围及步进,

// <o> 标题内容 <最小值-最大值:步进>

除上面介绍的规则外,标签o还提供下拉框选择,在标题内容后加上

<0=> 选项0  <1=> 选项1
…
<n-1=> 选项n-1  <n=> 选项n

即可,不过要注意n占用多少位,若n为8,使用o.0..1这种就不行,至少占3位,可改为o.0..2。

5)标签q

它标签o差不多,不过它只能修改数值的一个位,不能修改多个位,支持<qn1.n2>。

// <q> 标题内容

6)标签c

使用标签c可以在配置界面添加一个使能框注释或取消注释代码内容。

// <c>
//代码内容
// </c>
或
// <!c>
代码内容
// </c>

4 总结

到这里,Keil中的Configuration Wizard实现的方法就介绍完了,我最开始不太明白<*n1.n2>这种形式,后面看官网介绍一下就明白了,不过要灵活运用这个方法,还是要多实操、多实现一些Configuration Wizard。掌握了这个方法,虽说不能提升编程效率,但对代码的维护非常有益,想一想,我们需要经常配置的参数或者一些在不同使用环境下需要编译不同功能的代码,特别是隔很长一段时间没有维护这部分代码,不好一下就找到相应的代码段,使用这个图形化操作就非常简单了。

转载:Keil之Configuration Wizard - 知乎 (zhihu.com)

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值