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.
同時歡迎大家關注公眾號:嵌入式的日常