keil 中的配置向导Configuration Wizard的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_23274715/article/details/83719659

Keil中有这样一个小工具ConfigurationWizard。可以将我们的配置文件转化成可视化配置。使用keil的很多人应该见过这个功能,尤其使用开源库,比如rt-thread的rtconfig.h中就有可视化配置向导。使用它其实很简单,只要我们在写注释的时候加上一些特定标签就可以了。下面先展示一下效果。


上图的代码注释如下:

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

//<h> item one
//<i> item 0 test
//	<c> use debug
#define USING_DEBUG
//	</c>
//	<!c> printf off
#define USING_PRINTF_OFF
//	</c>
//	<s> vresion info
#dfine VERSION "V001.001.1234"
//	<o> system tick is <0-2000>
//	<i> system tick default is 1000
#dfine SYSTEM_TICK 2000

//	<e1.7> value bit valid enable
//		<o0.0> value bit 0
//		<o0.1> value bit 1
//		<o0.2> value bit 2
//		<o0.3> value bit 3
//		<i> value bit 3 is uart rx enable
//		<o0.4..6> value bit 4 5 6
//				<0=> enable input 0 <1=> enable input 1 
//				<2=> enable input 2 <3=> enable input 3
//				<4=> enable input 4 <5=> enable input 5 
//				<6=> enable input 6 <7=> enable input 7
#define INPUT_CONFIG (0x00,0x80)
//	</e>
//	<c3> use module
//	<i>  module use macro define
//#define USING_MODULE1
//#define USING_MODULE2
//#define USING_MODULE3
//	</c>
//  <s> no length limit user id1
//  <s1.5> have length limit id2
#define ID  "12345678"
#define ID2  "12345"

//  <q.0>  Data bit 0 modfiy
#define DATA_BIT0 0x00
//<o> data modification mul <#*8>
#define DATA_MUL 8
//</h>

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

 根据上图和代码对比是不是感觉特别简单。下面具体说一下它的使用方法和规则。

1.在文件开头定义如下内容:

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

2.在使用结束后定义如下内容(也可以不定义)

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

3.用如下标签进行组合使用,便可达到可视化配置的效果。

上面的代码对表中的每个标签都有使用演示。挺一目了然的。下面再对标签加以简单的解释。

1.<c></c>   <!c> </c>的使用:

       <c>和</c>是配套使用的。其功能产生一个复选框,选中复选框则使代码使能,否则被注释,而<!c> </c>正好相反。

<c> time option enable

#define USING_TIME

</c>

除此之外,也可以使用<c#>开始(其中#代表数字 如<c1>、<c2>等)。数字的作用就代表从定义此选项后的第几行开始。

<c1> time option enable

#define TIME_VALUE       1000       //第0行

#define USING_TIME2                             //第1行

</c>

上面的标签代码只对 #define USING_TIME2 有定义和未定义之分,但并不会影响到#define TIME_VALUE       1000。

2.<h></h>的使用

     使在<h>到</h>中的选项为一个组。

<h> time config

       <c> time1 using

       #define USING_TIME1

</c>

<c> time2 using

#define USING_TIME2

</c>

</h>

3.<e></e>的使用

       在<h></h>的基础上添加了复选框。当选中复选框后,才可以配置子选项。<e>的主要使用是<e#1.#2>,其中#1代表第几个数据(从0开始),#2代表此数据的哪个位(从0开始)。

<e1.7> init config

#define INIT_CONFIG (0x00,0x01)

</e>

其中<e1.7>就代表0x01的第七位。如果使能此复选框,则0x01变为0x81;

4.<i>的使用

       标注提示信息使用。提示上一个标签有关信息。

<e1.7> init config

<i> default 0x00,0x01

#define INIT_CONFIG (0x00,0x01)

</e>

其中<i>就是对<e1.7>的提示信息。

5.<q>的使用.主要使用<q#1.#2> #1和#2代表的意义和<e#1.#2>的一样。

       通过复选框设置数字的位值.

<q0.1> value bit config

#define VALUE_IS 0x00

对0x00 的第一位进行配置。复选框选中,0x00 就变为0x10.

6.<o>的使用

      主要是修改一个数的数值,同时也可以向<q>一样修改数据的某个位。除此之外它还可以修改好几位.如<o.2..3>,修改数据的第2到第3两个位。

7.<s>的使用

      修改字符串时一般使用此标签。如果对字符串的长度有限定,可以使用<s.#>.#为字符串的最大长度。

8.标签的修饰和限定使用。

<0-31>:数值的范围(超过此范围,默认为此范围的最大值)

<0-100:10> 数值的范围,带步长。也就是说只能是 0, 10,20,30 ….100.

<0=> 用于选择的值和文本。(形成下拉列表框使用)。

<#+1>   <#-1>
<#*8>   <#/3>
对要修改的值先做+-*/处理,然后赋值给 定义。

如果对Configuration Wizard还有不了解的地方,可以参看keil的user's guide->utilities->Configuration Wizard.

 

同时欢迎大家关注公众号:嵌入式的日常

猜你喜欢

转载自blog.csdn.net/qq_23274715/article/details/83719659