KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL 5帮你快速建工程模板的技巧

本人使用keil mdk 5.12有一段时间了,发现keil mdk 5.12里面驱动库比较方便。这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个芯片。大家以后既就可以很方便的建自己的工程模板了,再也不会为了找芯片的驱动库而烦恼。

今天外我来教大家来怎么使用这个建工程的利器吧。

首先是新建工程吧,如下图步骤:

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

因为我用的是stm32f401 Necleo,所以芯片型号应该要选择stm32f401te,选好芯片类型后,会弹出一个大的面板,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

红色框里的都是一些集成在keil 5的启动文件,arm内核的文件,st公司的库函数和一些API等等。一个工程最起码也要选上core和startup两个选项(还有选择Framework,其他的外设驱动根据需求选择就好,Framework用于生成stm32f10x_conf.h文件),如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

然后选择OK,就建好了空白的工程。然后就要对工程做一些设置,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

然后在你工程的路径新建一个USE(这个大家可以随便建个文件,不一定是USE名字的)的文件夹,然后在里面新建一个main.c的文件,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

然后新建的文件main.c添加到工程当中,步骤如下:

KEIL MDK 5.12帮你快速建工程模板的技巧

然后在main.c文件中添加如下代码:

KEIL MDK 5.12帮你快速建工程模板的技巧

到这里我们的空白工程建好了,后面我来教大家怎样加keil 5里自带的st库。首先我点击那个绿色的小图标,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

点击后会弹出一个大的页面,然后找到Device->StdPeriph Drivers。如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

点开StdPeriph Drivers选项的加号图标,就可以看到st库目录下各外设的驱动文件,后面是他的版本说明,这是V1.3版本的,是比较新的,建议大家尽量使用新的库。

我这里就勾上了所有外设的驱动的文件,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

然后点击OK后,就可以看到原先工程目录下的Device添加了刚才选择外设的驱动文件。添加完后大家不要急着编译工程,还有对工程进行相关的配置,否则如下图,编译不成功的:

KEIL MDK 5.12帮你快速建工程模板的技巧

接下来,我来配置下工程,右击target,然后进入配置工程的面板,步骤如下:

KEIL MDK 5.12帮你快速建工程模板的技巧

这里要填上USE_STDPERIPH_DRIVER,这就是表明编译器选择了st的库

KEIL MDK 5.12帮你快速建工程模板的技巧

然后我们来指定编译器头文件的路径

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

以上这两个路径是编译器编译时要找的路径,这几个头文件至关重要,这里编译器关联头文件所需要的。

KEIL MDK 5.12帮你快速建工程模板的技巧

KEIL MDK 5.12帮你快速建工程模板的技巧

当做完以上工作后,我们就可以来编译一下工程,在编译时,编译器就会根据我们的配置来编译驱动头文件和驱动的C文件。如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

当编译成功后会出现以下的信息:

KEIL MDK 5.12帮你快速建工程模板的技巧

下面我们要看看新的stm32f4xx_conf.h里的内容吧,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

可以看出这跟旧版本的stm32f4xx_conf.h文件有些区别,在每个头文件这里多了个条件编译,

大家可以理解成开关吧,就是用来选择编译头文件用的,而这些开关都在RTE_Components.h

这个头文件里,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

编译完成后,可以看出main.c里包含了各驱动库的头文件,如下图:

KEIL MDK 5.12帮你快速建工程模板的技巧

做完以上工作后,我们就建好了一个基于库函数的模板了。

注:Keil MDK 5.12建立工程的时候会自动生成Objects和Listings文件夹,所以用户使用过程中不需要考虑生成大量的编译文件,看起来不清爽的问题,编译生成的文件都在以上文件夹,清理起来比较方便,程序打包整理的时候可以将以上文件夹内的文件都删除,使得工程文件更小。

上一篇:bzoj 2555: SubString 后缀自动机+LCT


下一篇:46道面试题带你了解中高级Android面试,详解系列文章