Keil中有这样一个小工具ConfigurationWizard。可以将我们的配置文件转化成可视化配置。使用keil的很多人应该见过这个功能,尤其使用开源库,比如rt-thread的rtconfig.h中就有可视化配置向导。使用它其实很简单,只要我们在写注释的时候加上一些特定标签就可以了。下面先展示一下效果。
// <<< Use Configuration Wizard in Context Menu >>>
// item one
// item 0 test
// use debug
#define USING_DEBUG
//
// printf off
#define USING_PRINTF_OFF
//
// vresion info
#dfine VERSION "V001.001.1234"
// system tick is <0-2000>
// system tick default is 1000
#dfine SYSTEM_TICK 2000
// value bit valid enable
// value bit 0
// value bit 1
// value bit 2
// value bit 3
// value bit 3 is uart rx enable
// 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)
//
// use module
// module use macro define
//#define USING_MODULE1
//#define USING_MODULE2
//#define USING_MODULE3
//
// no length limit user id1
// have length limit id2
#define ID "12345678"
#define ID2 "12345"
// Data bit 0 modfiy
#define DATA_BIT0 0x00
// data modification mul <#*8>
#define DATA_MUL 8
//
// <<< end of configuration section >>>
根据上图和代码对比是不是感觉特别简单。下面具体说一下它的使用方法和规则。
1.在文件开头定义如下内容:
// <<< Use Configuration Wizard in Context Menu >>>
2.在使用结束后定义如下内容(也可以不定义)
// <<< end of configuration section >>>
3.用如下标签进行组合使用,便可达到可视化配置的效果。
上面的代码对表中的每个标签都有使用演示。挺一目了然的。下面再对标签加以简单的解释。
1.
#define USING_TIME
除此之外,也可以使用
#define TIME_VALUE 1000 //第0行
#define USING_TIME2 //第1行
上面的标签代码只对 #define USING_TIME2 有定义和未定义之分,但并不会影响到#define TIME_VALUE 1000。
2.
使在
#define USING_TIME1
#define USING_TIME2
3.
在
#define INIT_CONFIG (0x00,0x01)
其中
4.的使用
标注提示信息使用。提示上一个标签有关信息。
default 0x00,0x01
#define INIT_CONFIG (0x00,0x01)
其中就是对
5.的使用.主要使用
#1和#2代表的意义和
通过复选框设置数字的位值.
#define VALUE_IS 0x00
对0x00 的第一位进行配置。复选框选中,0x00 就变为0x10.
6.
主要是修改一个数的数值,同时也可以向一样修改数据的某个位。除此之外它还可以修改好几位.如
7.的使用
修改字符串时一般使用此标签。如果对字符串的长度有限定,可以使用
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.
同时欢迎大家关注公众号:嵌入式的日常