打印
[开发工具]

Keil MDK自带神器,Configuration Wizard配置向导使用方法

[复制链接]
3442|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongliushui|  楼主 | 2018-10-28 13:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

学习单片机或ARM的同学可能都有这样的困惑MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border: 0px; list-style: none; line-height: 1.5; text-indent: 2em;">,每次用到单片机的GPIO,SPI,定时器时我们都要反复配置内部寄存器。那么有没有一个这样的工具,当我们每次需要一个外设的时候,只需简单勾选的操作就可以生成所需配置的代码MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border: 0px; list-style: none; line-height: 1.5; text-indent: 2em;">?答案是肯定的MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border: 0px; list-style: none; line-height: 1.5; text-indent: 2em;">,keil内部集成了一个非常实用的插件Configuration Wizard,它可以通过勾选的方式快速配置我们的初始化代码MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border: 0px; list-style: none; line-height: 1.5; text-indent: 2em;">,下面的例子基于stm32_init.c如图:

MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" action-data="http%3A%2F%2Fs12.sinaimg.cn%2Fmw690%2F001YTcubgy6GTDgM0Nt5b%26690" action-type="show-slide" style="border-width: 0px; border-style: initial; list-style: none;">



通过勾选我们完成了定时器3内部触发的配置,这样我们只需在main函数中调用一次stm32_Init();函数就可以了,是不是很简单!

1.    Stm32_Init.c的使用方法

只需打开在Keil中打开Stm32_Init.c文件在窗口左下角选择Configuration Wizard即可弹出上图所示菜单。

MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border-width: 0px; border-style: initial; list-style: none;">

沙发
dongliushui|  楼主 | 2018-10-28 13:35 | 只看该作者
2.    如何编写自己的配置代码

点击帮助可获得Configuration Wizard的使用帮助

MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" action-data="http%3A%2F%2Fs3.sinaimg.cn%2Fmw690%2F001YTcubgy6GTDvS4sa02%26690" action-type="show-slide" style="border-width: 0px; border-style: initial; list-style: none;">


MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" action-data="http%3A%2F%2Fs15.sinaimg.cn%2Fmw690%2F001YTcubgy6GTDyAuaGee%26690" action-type="show-slide" style="border-width: 0px; border-style: initial; list-style: none;">

可以看到,编写配置文件只需按照具体的格式即可,如下示例程序:

// <<< Use Configuration Wizard in Context Menu >>>

.

…….

// System Timer配置

//  System Timer时钟源选择

//  缺省值: SYSTICKCLK = HCLK/8

//                    <0=> SYSTICKCLK = HCLK/8

//                    <1=> SYSTICKCLK = HCLK

//  SYSTICK period [ms] <1-1000:10>

//  设置timer period for System Timer.

//  缺省值: 1  (1ms)

//  System Timer中断允许

//

#define __SYSTICK_SETUP           0

#define __SYSTICK_CTRL_VAL        0x00000006

#define __SYSTICK_PERIOD          0x0000000A

….

……….

// <<< end of configuration section >>>

…………

#if __SYSTICK_SETUP

__inline static void stm32_SysTickSetup (void)

{

#if ( (__SYSTICK_PERIOD * (__SYSTICKCLK / 1000) - 1) > 0xFFFFFF)   //reload value to large

#error "Reload Value to large! Please use 'HCLK/8' as System Timer clock source or smaller period"

#else

       SysTick->LOAD = __SYSTICK_PERIOD * (__SYSTICKCLK / 1000) - 1; //设置 reload 寄存器

       SysTick->CTRL = __SYSTICK_CTRL_VAL;//设置 clock source and中断允许

       SysTick->VAL = 0;//clear  the counter

       SysTick->CTRL |= SYSTICK_CSR_ENABLE;//允许the counter

#endif

} //end of stm32_SysTickSetup

#endif

……………..

void stm32_Init( )

{

……………..

#if __SYSTICK_SETUP

              stm32_SysTickSetup ();

#endif

……………..

} //end of stm32_Init

从上面我们可以看出,Configuration Wizard只是对部分宏定义进行了初始化,并不是特别复杂,而初始化函数只是给据编译条件生成不同的代码。

部分语句介绍:(《》应为<>)

《h》《/h》成对出现,出现一个展开选项

《e?》《/e》成对出现,出现一个勾选框

《e1》若勾选,下方第1个宏定义置一

《e2.3》  若勾选,下方第2个宏定义第3位置一

《o.2.3..4》出现一个下拉菜单,下方第2个宏定义第三第四位等于所选值

MDK自带神器,Configuration Wizard配置向导使用方法" title="Keil MDK自带神器,Configuration Wizard配置向导使用方法" style="border-width: 0px; border-style: initial; list-style: none;">

《i》提示信息

《/s》字符串初始化


使用特权

评论回复
板凳
dongliushui|  楼主 | 2018-10-28 13:35 | 只看该作者
3.    扩展
基本功能介绍完了,有兴趣的朋友可以编写自己的配置文件,应用于不同处理器,也可以编写自己的配置代码,通过勾选的方式生成不同的功能模块,具体方法可参照帮助文件,感谢某网友提供的中文版stm32_init.c文件。STM32工程模板已上传,欢迎下载,欢迎交流!

http://pan.baidu.com/s/1dD46oEH

使用特权

评论回复
地板
xiaoqizi| | 2018-11-5 17:02 | 只看该作者
从没用过keil

使用特权

评论回复
评论
joketinnle 2018-11-6 09:42 回复TA
Keil的UI做的很棒了~~ 
5
磨砂| | 2018-11-6 10:07 | 只看该作者
没用过keil 看起来很不错呀

使用特权

评论回复
6
dongliushui|  楼主 | 2018-11-28 19:35 | 只看该作者

这么好的东西还是要用一下的。

使用特权

评论回复
7
dongliushui|  楼主 | 2018-11-28 19:36 | 只看该作者
磨砂 发表于 2018-11-6 10:07
没用过keil 看起来很不错呀

是的,如果会用那事半功倍。

使用特权

评论回复
8
磨砂| | 2018-12-1 17:58 | 只看该作者
dongliushui 发表于 2018-11-28 19:36
是的,如果会用那事半功倍。

请问iar有类似功能吗

使用特权

评论回复
9
xuanhuanzi| | 2018-12-2 08:46 | 只看该作者
STM32_init_Demo.rar (1.55 MB)


使用特权

评论回复
10
wwl0098| | 2019-1-16 13:30 | 只看该作者
dongliushui 发表于 2018-10-28 13:35
3.    扩展
基本功能介绍完了,有兴趣的朋友可以编写自己的配置文件,应用于不同处理器,也可以编写自己的 ...

stm32_init.c 这个文件的源在哪里啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

537

帖子

0

粉丝