0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

可視化的Keil工程配置模板設(shè)計(jì)

我快閉嘴 ? 來(lái)源:嵌入式應(yīng)用研究院 ? 作者:楊源鑫 ? 2022-04-14 11:13 ? 次閱讀
之前用Keil MDK做項(xiàng)目的時(shí)候有個(gè)想法:是否能將宏定義做成一個(gè)可視化的模板呢?這樣我就不用直接去修改對(duì)應(yīng)的.h或者.c文件了,也能減少手誤導(dǎo)致工程編譯出問(wèn)題。


另外,當(dāng)程序需要改某個(gè)參數(shù)時(shí),也可以告訴那些看不懂程序的人幫忙配置,增加程序的維護(hù)性。很榮幸的是,Keil MDK就支持這樣的方法! 那么如何來(lái)實(shí)現(xiàn)呢?搜索官方文檔里的Configuration Wizard

288bc226-bb2d-11ec-aa7f-dac502259ad0.png

28a0fe8e-bb2d-11ec-aa7f-dac502259ad0.png

這個(gè)文檔描述得非常詳細(xì),也提供了一個(gè)配置模板,我們只需要照著文檔描述寫(xiě)好相應(yīng)的格式即可生成一個(gè)圖形化的配置界面。(注意:Keil并沒(méi)有那么智能,寫(xiě)完這個(gè)模板它并不能立馬自動(dòng)匹配到,需要重新關(guān)掉Keil工程再開(kāi)才能加載成圖形配置模板,然后才能夠?qū)崿F(xiàn)即時(shí)修改即時(shí)響應(yīng),這點(diǎn)很多寫(xiě)文章的作者并沒(méi)有告訴讀者這個(gè)坑!??!),這里我用的是KeilV5.25的版本,不清楚后面的新版本是否改善了這個(gè)問(wèn)題。

接下來(lái)我們新建一個(gè).h或者一個(gè).c文件,然后在.h文件或者.c文件的開(kāi)頭加入:

//<<inContextMenu>>>

在文件的結(jié)尾加入:

//<<inContextMenu>>>

然后重新關(guān)掉工程,再繼續(xù)打開(kāi)工程,再打開(kāi)這個(gè)文件就可以看到下面這樣的效果:

28ba99b6-bb2d-11ec-aa7f-dac502259ad0.png

接下來(lái),我們就需要在這對(duì)配置向?qū)У拈_(kāi)頭-結(jié)尾中添加我們的配置方法,以下是配置方法的語(yǔ)法規(guī)則:

28cd6c30-bb2d-11ec-aa7f-dac502259ad0.png

接下來(lái)我們根據(jù)以上官方網(wǎng)站提供的配置模板以及參數(shù)就可以快速的修改出我們想要的配置模板,這里面提供了單選框、復(fù)選框、字符串、參數(shù)范圍定義等多種功能的配置方案。這里我以小熊派為例做的一個(gè)配置模板:

//<<inContextMenu>>>
#ifndef__BEARPI_CONFIG_H
#define__BEARPI_CONFIG_H

//是否支持調(diào)試使能
//DebugConfig
//DebugConfiggeneration
#define_USE_DEBUG
//

//小熊派開(kāi)發(fā)配置,選擇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
//

//是否支持調(diào)試LED
//SupportDebugLed
//UsePC13debugled
#define_SUPPORT_DEBUG_LED
//

//是否支持鍵盤(pán)
//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
//<<>>



最終效果如下:

28dc92d2-bb2d-11ec-aa7f-dac502259ad0.png

當(dāng)我們選擇了對(duì)應(yīng)的功能以后,宏定義就會(huì)自動(dòng)的為我們修改對(duì)應(yīng)的參數(shù),例如修改版本信息:


20220326

28f0dd28-bb2d-11ec-aa7f-dac502259ad0.png

我們可以看到.h文件里的這個(gè)宏定義已經(jīng)修改了這個(gè)值:


290c006c-bb2d-11ec-aa7f-dac502259ad0.png

Keil MDK提供的這個(gè)功能真的是單片機(jī)工程師的福音啊!!!!

原文標(biāo)題:可視化的Keil工程配置模板,一招提高單片機(jī)開(kāi)發(fā)效率

文章出處:【微信公眾號(hào):小麥大叔】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模板
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    20566
  • keil
    +關(guān)注

    關(guān)注

    68

    文章

    1213

    瀏覽量

    166893
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1194

    瀏覽量

    20944
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何謂單片機(jī)編程的可視化?

    何謂單片機(jī)編程的可視化?可視化編程就是提供給用戶可視化的器件模塊配置界面使用戶在不用關(guān)心具體器件工作原理和設(shè)置的情況下直接生成所要配置的器件
    發(fā)表于 07-08 16:53

    可視化MES系統(tǒng)軟件

    是關(guān)鍵部分,可視化管理可幫助企業(yè)更直觀的挖掘隱藏的數(shù)據(jù)并有效管理企業(yè)?!爸圃煳锫?lián)”是MES系統(tǒng)軟件更高階段的必然表現(xiàn)形式?!爸圃煳锫?lián)”與MES系統(tǒng)軟件的側(cè)重:(1)MES側(cè)重生產(chǎn)業(yè)務(wù)管理,制造物聯(lián)更關(guān)注
    發(fā)表于 11-30 19:55

    使用Hightec GNU的可視化linker配置工具來(lái)配置把變量定義到固定內(nèi)存地址

    使用Hightec GNU的可視化linker配置工具來(lái)配置把變量定義到固定內(nèi)存地址可視化linker配置工具能極大的提高linker的修改
    發(fā)表于 12-14 10:40

    如何把AD中非可視化區(qū)域物件移到可視化區(qū)域?

    AD中非可視化區(qū)域物件怎么移到可視化區(qū)域???
    發(fā)表于 09-10 05:36

    基于STM的可視化門(mén)禁系統(tǒng)

    基于STM的可視化門(mén)禁系統(tǒng)
    發(fā)表于 03-07 09:49

    基于stm的可視化門(mén)禁系統(tǒng)

    基于stm的可視化門(mén)禁系統(tǒng)
    發(fā)表于 03-11 09:23

    Python數(shù)據(jù)可視化

    Python數(shù)據(jù)可視化:網(wǎng)易云音樂(lè)歌單
    發(fā)表于 07-19 08:30

    三維可視化的應(yīng)用和優(yōu)勢(shì)

    ,為此三維可視化運(yùn)維系統(tǒng)登場(chǎng)了?! ∪S可視化的應(yīng)用  宏觀場(chǎng)景可視化:在特定的環(huán)境中對(duì)隨著時(shí)間推移而不斷變化的目標(biāo)實(shí)體進(jìn)行檢測(cè),可以直觀、靈活、逼真的展示所處區(qū)域的情景和環(huán)境,可以快速掌握目標(biāo)區(qū)域
    發(fā)表于 12-02 11:52

    有了它,0基礎(chǔ)也能做大屏可視化

    功能配置。如果想要在制作大屏數(shù)據(jù)可視化報(bào)表時(shí)直接應(yīng)用,則需要使用奧威BI軟件上的報(bào)表模板了。部分大屏可視化報(bào)表截圖如下: 奧威BI軟件上現(xiàn)成可視化
    發(fā)表于 12-24 14:01

    常見(jiàn)的幾種可視化介紹

    說(shuō)說(shuō)常見(jiàn)的幾種可視化一、信息可視化信息可視化就是對(duì)抽象數(shù)據(jù)進(jìn)行直觀視覺(jué)呈現(xiàn)的研究,抽象數(shù)據(jù)既包含數(shù)值數(shù)據(jù),也包含非數(shù)值數(shù)據(jù)如文本信息、地圖信息等,它們可通過(guò)利用圖形圖像處理、人機(jī)交互、人工智能的技術(shù)
    發(fā)表于 07-12 07:49

    STM32CubeMX創(chuàng)建工程模板的方法

    STM32CubeMX是ST意法半導(dǎo)體推出的STM32系列芯片圖形可視化配置工具,用戶可以通過(guò)圖形向?qū)镃ortex-M系列MCU生成初始代碼
    發(fā)表于 02-14 06:05

    可視化大屏設(shè)計(jì)模板 | 主題皮膚(報(bào)表UI設(shè)計(jì))

    下載使用可視化大屏設(shè)計(jì)模板,減少重復(fù)性操作,提高報(bào)表制作效率的同時(shí)也確保了報(bào)表風(fēng)格一致,凸顯關(guān)鍵數(shù)據(jù)信息。 軟件:奧威BI系統(tǒng),又稱奧威BI數(shù)據(jù)可視化工具 所屬功能板塊:主題皮膚上傳下載(數(shù)據(jù)
    發(fā)表于 09-12 10:10

    基于模板的通用文件對(duì)話框的可視化定制

    本文介紹了利用模板可視化定制通用文件對(duì)話框的實(shí)現(xiàn)方法。關(guān)鍵詞: 定制;通用文件對(duì)話框;模板;預(yù)覽在我們開(kāi)發(fā)的CAD/CAM系統(tǒng)及其它應(yīng)用軟件中,經(jīng)常需要用戶進(jìn)行一些
    發(fā)表于 08-21 10:08 ?14次下載

    什么是單片機(jī)的可視化編程

      A1:何謂單片機(jī)編程的可視化?   Q1:可視化編程就是提供給用戶可視化的器件模塊配置界面使用戶
    發(fā)表于 10-27 09:16 ?5421次閱讀

    可視化技術(shù)有哪些

    完整的地理空間信息可視化概念主要包括科學(xué)計(jì)算可視化、數(shù)據(jù)可視化和信息可視化。可視化技術(shù)作為解釋大量數(shù)據(jù)最有效的手段而率先被科學(xué)與
    發(fā)表于 02-05 09:09 ?3760次閱讀