keil 的 配置向导 configuration wizard (转)

一 前言

很多人使用keil的时候感觉keil的configuration wizard
很神奇,用起来特别方便,但是苦于不知道怎么去编写自己的configuration
wizard,其实keil的help文档就有,只是很多人用着感觉英文不方便,又或者看了没理解,为此,特写了一个教程,希望大家能从中学到一些知识。

二 基本介绍

Configuration wizard 只能在keil中使用,能够可以通过菜单的方式对一些预设值进行设置,修改,配置。

三.基本使用方法

在文档中写入 标记开始

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

当检测到以上关键字,keil就会认为这个文档里面存着Configuration Wizard,并开始搜索内容中的其他关键字。当检测到以下内容的时候,停止搜索

<<< end of configuration section >>>

注意: <<< Use Configuration Wizard in Context Menu
>>>和<<< end of configuration section >>>
必须被“//”屏蔽 或者“;”。因为是额外的信息不能影响到文档的编译所以,必须屏蔽,但是屏蔽不可以用批量屏蔽如“/*  。。。。
*/,即使“/* ”和“*/”在同一行也不可以。并且“//”或者“;”必须在行首。

下面我们来一步步完善这个例子:

新建一个test.c文档作为测试文档。

在文档中输入:

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

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

保存并且关闭,再打开

就可以看到Configuration Wizard 的选项了。点击进去可以看到选项已经出来了,只是里面的内容还是空的。

命令字

1.标题命令字 <h>和</h>

<h>和</h>必须成对出现,<h>表示一个段落(组)开始,</h>表示段落(组)结束,如果只有<h>没有</h>系统就会报错。

我们继续扩充我们的测试代码:

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

//<h> this is a heading

//</h>

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

2.使能组<e>和</e>

和<h>类似,但是<e>确是有更大的功能,Enable。举个例子:

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

//   <h> this is a heading

//   </h>

//  <e>this is an options

//   </e>

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

这里需要说明的是<e>只是一个单选的,enable or disable ,因此这里开始我们就想怎么跟我们的程序结合起来了。于是我在</e>的后面定义了一个8bit的tmp变量并且把他的值赋为0。

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

//   <h> this is a heading

//   </h>

//     <e>this is an options

//   </e>

uint8 tmp = 0;

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

当我把this is an options 打上勾勾的时候,

就自动变成了tmp=1:

这就是我们想要的。通过配置菜单,进行一些配置就可以改变到编译的c文件的内容

那么如果我只想设置tmp的某一位,比如第三位,怎么办?

通过<e.n> 命令,n表示第几位。

选择前:

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

//   <h> this is a heading

//   </h>

//     <e.3>this is an options

//   </e>

uint8 tmp=1;

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

选择后:

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

//   <h> this is a heading

//   </h>

//     <e.3>this is an options

//   </e>

uint8 tmp=9;

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

我们再来扩充下视野:假设我的8bit的数据分成8个enable选项,应该怎么做呢?

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

//   <h> this is a heading

//   </h>

//     <e.3>this is an options bit 3

//   </e>

//     <e.2>this is an options bit 2

//   </e>

//     <e.0>this is an options bit 0

//   </e>

uint8 tmp=9;

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

3.infomations命令<i>

当鼠标停留在当前的条目的时候可以显示提示信息。我们继续代码说明:

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

//   <h> this is a heading

//       <i> head start form here!

//   </h>

//  <e>this is an options

//   </e>

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

4.位允许<q>

和<e>不同,<q>只是一个单选项,没有段落(组)的概念。

//   <h> this is a heading

//       <i> head start form here!

//       <q> this is single bitenable

//   </h>

#define  BitEnalbe 1

同样也可以指定具体的某一位

//   <h> this is a heading

//       <i> head start form here!

//       <q.0> this is single bitenable bit 0

//       <q.1> this is single bitenable bit 1

//       <q.7> this is single bitenable bit 7

//   </h>

#define  BitEnalbe 0x83

5.<o>选择或者输入数字

//        <o> this is a 32bit input

uint32 tmp32=0x2000;

数字输入涉及的问题就很多啦。比如我要限制啊,只能是一定范围啊,咋办?

<min-max>

//        <o> this is a 32bit input

//         <2-30>

uint32 tmp32=0x02;

只能选择到极限值以内了。如果主动输入限制范围以外的数值呢?那可能会导致崩溃!

<min-max>后面还可以跟一个步进:<min-max:step>,比如:

//        <o> this is a 32bit input

//         <2-30:4>

uint32 tmp32=0x10;

步进就变成了4了,每次点击上或者下,变化的步进就是4

那么这个数字能不能做成下拉菜单呢?当然是可以的。

//        <o> this is a 32bit input

//         <0=> 1      <1=> 2

uint32 tmp32=0x01;

当选择2的时候把1赋给了后面的tmp32

那么指定位置呢?

当然也是可以的。

uint32 tmp32=0x01;

//        <o.0> this is a 32bit input bit0

//         <0=> 1      <1=> 2

uint32 tmp32=0x01;

//        <o.0..7> this is a 32bit input bit0-7

//         <0=> 1      <1=> 2  <255=> 3

uint32 tmp32=0xFF;

6.字符串输入<s>

//         <s> this is a string input

uint32 buf[]="hello";

如果要想要限制字符串输入的长度可以用:<s:limt>

//         <s.10> this is a string input

uint32 buf[]="hello12345";

这个基本功能就介绍完了,下面有个重点功能要介绍:

7.整合所有的配置项

我们说,配置项多的时候是需要整合的。整合的过程当中,我们必须看清楚一个功能,那就是怎么跟多个配置项的配对起来。

在一个段落中,keil是只会把数值赋给随后的第一个定义,为了区分一个段落中的不同配置项,要用后缀来区分。上例子:

//   <h> for multi-configuarations

//       <q.0> this is single bit enable bit 0

//       <q1.0> this is single bit enable bit 0

//        <o> this is a 32bit input

//         <2-30:4>

//        <o1> this is a 32bit input

//         <0=> 1      <1=> 2

//        <o2.0> this is a 32bit input bit0

//         <0=> 1      <1=> 2

//        <o3.0..7> this is a 32bit input bit0-7

//         <0=> 1      <1=> 2  <255=> 3

//         <s> this is a string input

//         <s1.10> this is a string input

//   </h>

#define Q0  1

#define Q1  1

uint32 tmp32=0x15;

uint32 tmp32=0x00;

uint32 tmp32=0x01;

uint32 tmp32=0xFF;

uint32 buf[]="hello";

uint32 buf[]="hello12345";

https://blog.csdn.net/ropai/article/details/33719447

原文地址:https://www.cnblogs.com/Widesky/p/9081479.html

时间: 2024-11-08 23:40:55

keil 的 配置向导 configuration wizard (转)的相关文章

keil 的 配置向导 configuration wizard(转载)

keil 的 配置向导 configuration wizard 以前发现keil 的很棒的功能 今天终于会用了.  分享给大家.转载的. 一 前言          很多人使用keil的时候感觉keil的configuration wizard 很神奇,用起来特别方便,但是苦于不知道怎么去编写自己的configuration wizard,其实keil的help文档就有,只是很多人用着感觉英文不方便,又或者看了没理解,为此,特写了一个教程,希望大家能从中学到一些知识. 二 基本介绍 Confi

MDK —— configuration wizard

学习RTX 的时候发现RTX的配置文件可以MDK的图形界面来配置,感觉这个非常好,直观.方便.健壮,可以避免程序员写入错误的数据. ? 参考: μVision User's Guide->Utilities->Configuration Wizard keil 的 配置向导 configuration wizard http://blog.csdn.net/ropai/article/details/33719447 Keil MDK自带神器Configuration http://blog.

转:安装MySQL遇到MySQL Server Instance Configuration Wizard未响应的解决办法

问题:安装了MySQL之后进入配置界面的时候,总会显示“MySQL Server Instance Configuration Wizard未响应”,一直卡死. 解决办法:Win7系统中,以管理员的权限登录系统,将C盘的ProgramData中的MySQL文件夹删掉即可(如果没有该文件夹,可能是因为隐藏了) 转自:http://blog.csdn.net/liuxiyangyang/article/details/8810094 若配置方案选择“Detailed Configuration”的配

Sharepoint部署配置向导

安装完成后,会自动进入配置向导, 配置期间可能需要重启服务,选择"是", 因为我们之前还没部署过sharepoint Server,所以选择"创建新的服务器场", 输入SQL实例的服务器名称,并指定访问数据库的账户名和密码, 在指定服务器场安全设置界面,输入sharepoint产品服务器场的密码,(密码一定要满足复杂性,并且至少8位) 在配置sharepoint管理中心web应用程序界面,指定web应用程序的端口号, 在完成sharepoint产品配置向导界面保持默

freeMarker(八)——程序开发指南之配置(Configuration)

1.基本内容 配置(configuration)就是 freemarker.template.Configuration 对象, 它存储了常用(全局,应用程序级)的设置,定义了想要在所有模板中可用的变量(称为共享变量). 而且,它会处理 Template 实例的新建和缓存. 应用程序典型的用法是使用一个独立的共享 Configuration 实例.更精确来说, 典型的做法是每一个独立开发的组件(比如项目,模块等)都有一个 Configuration 实例,它在内部使用FreeMarker, 每一

安全配置向导

安全配置向导 应用到: Windows Server 2008 R2 安全配置向导 (SCW) 引导您完成创建.编辑.应用或回滚安全策略的过程.使用 SCW 创建的安全策略是一个 .xml 文件,应用后,可以配置服务.网络安全.特定注册表值和审核策略.SCW 是一个基于角色的工具:可以用于创建策略,以启用所选服务器执行特定角色(如文件服务器.打印服务器或域控制器)时所需的服务.防火墙规则和设置. 使用 SCW 时应注意下列事项: SCW 禁用不需要的服务并提供对具有高级安全性的 Windows

Provisioning Services 7.6 入门到精通系列之四:PVS配置向导-创建新场

Provisioning Service配置向导引导我们简单的完成场的创建和配置,包含后期需要修改配置同样在此运行PVS配置向导即可. 1.1 使用账号huangjh\ctxadmin登录PVS服务器,点击"Provisioning Service配置向导" 1.2 下一步 1.3 选择"在其他计算机上运行的服务",下一步 1.4 选择"在此计算机上运行的服务"下一步 1.5 选择"创建场"下一步 1.6 输入SQL服务器名称

qmake的配置功能(Configuration Features)

Configuration Features qmake can be set up with extra configuration features that are specified in feature (.prf) files. These extra features often provide support for custom tools that are used during the build process. To add a feature to the build

Eclipse 运行配置(Run Configuration)

Eclipse 运行配置(Run Configuration) 创建和使用 Eclipse 运行配置 在运行配置(Run Configuration)对话框中可以创建多个运行配置.每个配置可以在应用中启用. 运行配置(Run Configuration)对话框可以通过 Run 菜单中选择 Run Configurations 来调用. 如果要给 Java 应用创建运行配置需要在左侧列表中选择 "Java Application" 并点击 New 按钮. 对话框中描述的项有: 运行配置名