另外,當程序需要改某個參數時,也可以告訴那些看不懂程序的人幫忙配置,增加程序的維護性。很榮幸的是,Keil MDK就支持這樣的方法! 那么如何來實現呢?搜索官方文檔里的Configuration Wizard:
這個文檔描述得非常詳細,也提供了一個配置模板,我們只需要照著文檔描述寫好相應的格式即可生成一個圖形化的配置界面。(注意:Keil并沒有那么智能,寫完這個模板它并不能立馬自動匹配到,需要重新關掉Keil工程再開才能加載成圖形配置模板,然后才能夠實現即時修改即時響應,這點很多寫文章的作者并沒有告訴讀者這個坑!!!),這里我用的是KeilV5.25的版本,不清楚后面的新版本是否改善了這個問題。
接下來我們新建一個.h或者一個.c文件,然后在.h文件或者.c文件的開頭加入:
//<<inContextMenu>>>
在文件的結尾加入:
//<<inContextMenu>>>
然后重新關掉工程,再繼續打開工程,再打開這個文件就可以看到下面這樣的效果:
接下來,我們就需要在這對配置向導的開頭-結尾中添加我們的配置方法,以下是配置方法的語法規則:
接下來我們根據以上官方網站提供的配置模板以及參數就可以快速的修改出我們想要的配置模板,這里面提供了單選框、復選框、字符串、參數范圍定義等多種功能的配置方案。這里我以小熊派為例做的一個配置模板:
//<<inContextMenu>>>
#ifndef__BEARPI_CONFIG_H
#define__BEARPI_CONFIG_H
//是否支持調試使能
//DebugConfig
//DebugConfiggeneration
#define_USE_DEBUG
//
//小熊派開發配置,選擇E53傳感器模組以及IoT通信模組
//BearPiConfig
//SelectE53Module
//Default:E53_IA1
//<0=>E53_IA1
//<1=>E53_SC1
//<2=>E53_SC2
//<3=>E53_SF1
//<4=>E53_IS1
//<5=>E53_ST1
#defineBEARPI_E53_MODULE0
//SelectWANModule
//Default:E53_IA1
//<0=>NB-IoT&Card-NB35-A
//<1=>WIFI-WIFI8266
//<2=>2G-G26
//<3=>HiLink-HiLink710
#defineBEARPI_WAN_MODULE0
//
//是否支持調試LED
//SupportDebugLed
//UsePC13debugled
#define_SUPPORT_DEBUG_LED
//
//是否支持鍵盤
//SupportKeyBoard
//Supportusingkeyboard
#define_SUPPORT_KEYBOARD
//
//是否支持AT24C02
//SupportAT24C02
//SupportusingAT24C02tostoremoduleparameters
#define_SUPPORT_AT24C02
//
//是否支持W25Q64
//SupportW25Q64
//SupportusingSPIFLASHtostoremoduleparameters
//#define_SUPPORT_W25Q64
//
//是否支持SD卡
//SupportSDCard
//SupportusingSPIFLASHtostoremoduleparameters
#define_SUPPORT_SDCARD
//
//版本信息
//Versioninformation
//version
#defineBEARPI_CONFIG_VERSION"1.0.0"
#endif//__BEARPI_CONFIG_H
//<<>>
最終效果如下:
當我們選擇了對應的功能以后,宏定義就會自動的為我們修改對應的參數,例如修改版本信息:
20220326
我們可以看到.h文件里的這個宏定義已經修改了這個值:
Keil MDK提供的這個功能真的是單片機工程師的福音啊!!!!
原文標題:可視化的Keil工程配置模板,一招提高單片機開發效率
文章出處:【微信公眾號:小麥大叔】歡迎添加關注!文章轉載請注明出處。
審核編輯:湯梓紅
-
模板
+關注
關注
0文章
108瀏覽量
20595 -
keil
+關注
關注
68文章
1214瀏覽量
167223 -
可視化
+關注
關注
1文章
1200瀏覽量
21024
發布評論請先 登錄
相關推薦
評論