1. 程式人生 > >keil 中的配置嚮導Configuration Wizard的使用

keil 中的配置嚮導Configuration Wizard的使用

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.

同時歡迎大家關注公眾號:嵌入式的日常