0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

可视化的Keil工程配置模板设计

我快闭嘴 来源:嵌入式应用研究院 作者:杨源鑫 2022-04-14 11:13 次阅读
之前用Keil MDK做项目的时候有个想法:是否能将宏定义做成一个可视化的模板呢?这样我就不用直接去修改对应的.h或者.c文件了,也能减少手误导致工程编译出问题。


另外,当程序需要改某个参数时,也可以告诉那些看不懂程序的人帮忙配置,增加程序的维护性。很荣幸的是,Keil MDK就支持这样的方法! 那么如何来实现呢?搜索官方文档里的Configuration Wizard

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

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

这个文档描述得非常详细,也提供了一个配置模板,我们只需要照着文档描述写好相应的格式即可生成一个图形化的配置界面。(注意:Keil并没有那么智能,写完这个模板它并不能立马自动匹配到,需要重新关掉Keil工程再开才能加载成图形配置模板,然后才能够实现即时修改即时响应,这点很多写文章的作者并没有告诉读者这个坑!!!),这里我用的是KeilV5.25的版本,不清楚后面的新版本是否改善了这个问题。

接下来我们新建一个.h或者一个.c文件,然后在.h文件或者.c文件的开头加入:

//<<< Use Configuration Wizard inContextMenu>>>

在文件的结尾加入:

//<<< Use Configuration Wizard inContextMenu>>>

然后重新关掉工程,再继续打开工程,再打开这个文件就可以看到下面这样的效果:

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

接下来,我们就需要在这对配置向导的开头-结尾中添加我们的配置方法,以下是配置方法的语法规则:

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

接下来我们根据以上官方网站提供的配置模板以及参数就可以快速的修改出我们想要的配置模板,这里面提供了单选框、复选框、字符串、参数范围定义等多种功能的配置方案。这里我以小熊派为例做的一个配置模板:

//<<< Use Configuration Wizard 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
//<<< end of configuration section >>>



最终效果如下:

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

当我们选择了对应的功能以后,宏定义就会自动的为我们修改对应的参数,例如修改版本信息:


20220326

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

我们可以看到.h文件里的这个宏定义已经修改了这个值:


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

Keil MDK提供的这个功能真的是单片机工程师的福音啊!!!!

原文标题:可视化的Keil工程配置模板,一招提高单片机开发效率

文章出处:【微信公众号:小麦大叔】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模板
    +关注

    关注

    0

    文章

    106

    浏览量

    20478
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165291
  • 可视化
    +关注

    关注

    1

    文章

    1020

    浏览量

    20554
收藏 人收藏

    评论

    相关推荐

    何谓单片机编程的可视化?

    何谓单片机编程的可视化?可视化编程就是提供给用户可视化的器件模块配置界面使用户在不用关心具体器件工作原理和设置的情况下直接生成所要配置的器件
    发表于 07-08 16:53

    可视化MES系统软件

    是关键部分,可视化管理可帮助企业更直观的挖掘隐藏的数据并有效管理企业。“制造物联”是MES系统软件更高阶段的必然表现形式。“制造物联”与MES系统软件的侧重:(1)MES侧重生产业务管理,制造物联更关注
    发表于 11-30 19:55

    使用Hightec GNU的可视化linker配置工具来配置把变量定义到固定内存地址

    使用Hightec GNU的可视化linker配置工具来配置把变量定义到固定内存地址可视化linker配置工具能极大的提高linker的修改
    发表于 12-14 10:40

    如何把AD中非可视化区域物件移到可视化区域?

    AD中非可视化区域物件怎么移到可视化区域???
    发表于 09-10 05:36

    基于STM的可视化门禁系统

    基于STM的可视化门禁系统
    发表于 03-07 09:49

    基于stm的可视化门禁系统

    基于stm的可视化门禁系统
    发表于 03-11 09:23

    Python数据可视化

    Python数据可视化:网易云音乐歌单
    发表于 07-19 08:30

    三维可视化的应用和优势

    ,为此三维可视化运维系统登场了。  三维可视化的应用  宏观场景可视化:在特定的环境中对随着时间推移而不断变化的目标实体进行检测,可以直观、灵活、逼真的展示所处区域的情景和环境,可以快速掌握目标区域
    发表于 12-02 11:52

    有了它,0基础也能做大屏可视化

    功能配置。如果想要在制作大屏数据可视化报表时直接应用,则需要使用奥威BI软件上的报表模板了。部分大屏可视化报表截图如下: 奥威BI软件上现成可视化
    发表于 12-24 14:01

    常见的几种可视化介绍

    说说常见的几种可视化一、信息可视化信息可视化就是对抽象数据进行直观视觉呈现的研究,抽象数据既包含数值数据,也包含非数值数据如文本信息、地图信息等,它们可通过利用图形图像处理、人机交互、人工智能的技术
    发表于 07-12 07:49

    如何在Ubuntu下实现可视化代码跟踪调试

    目录一、在Ubuntu下实现可视化代码跟踪调试1.1 安装VSCode1.2 配置调试和编译文件一、在Ubuntu下实现可视化代码跟踪调试1.1 安装VSCode在Ubuntu的应用商店下搜索
    发表于 12-14 07:02

    基于OneNET View 3.0的可视化数据监测系统的设计资料分享

    姿态定位制作说明功能说明将维特WT901C姿态传感器数据通过合宙Air724UG-4G模块将数据传输到onenet云平台,并建立onenetview可视化界面成果展示可视化成果注:由于采用免费可视化
    发表于 01-20 06:28

    STM32CubeMX创建工程模板的方法

    STM32CubeMX是ST意法半导体推出的STM32系列芯片图形可视化配置工具,用户可以通过图形向导为Cortex-M系列MCU生成初始代码
    发表于 02-14 06:05

    经验分享|BI数据可视化报表布局——容器

    容器功能是一种用于数据可视化图表排版的功能,主要作用对图表进行有效的布局调整,或者用于巧妙在同一地方安排多个不同类型的数据可视化图表,供使用者点击切换浏览。目前,在奥威BI软件上一同有两类容器功能
    发表于 03-15 17:10

    可视化大屏设计模板 | 主题皮肤(报表UI设计)

    下载使用可视化大屏设计模板,减少重复性操作,提高报表制作效率的同时也确保了报表风格一致,凸显关键数据信息。 软件:奥威BI系统,又称奥威BI数据可视化工具 所属功能板块:主题皮肤上传下载(数据
    发表于 09-12 10:10