在Keil软件中,对stm32编程,其中很重要的一点就是对文件的管理,因为stm32涉及到的文件很多,以下就以stm32f10x系列单片机为例进行文件管理(要有一个完整工程的模板,网上找一下就行)。
首先在项目的文件夹下需要创建如下的子文件夹(DebugConfig文件夹以及Obj文件夹不用管)。
APP目录放置外设相关的文件,所以APP目录下又有子文件夹,子文件夹中放置着.c文件和.h文件。如下所示。
Libraries文件夹中放着CMSIS文件夹以及STM32F10x_StdPeriph_Driver文件夹。这个在以后的做stm32项目中复制粘贴就行了(注意是stm32f10x系列可以直接复制过来用,其他类型的stm32是要改的)
Public文件夹下放着一些系统文件(我也看不懂,直接用就行了)。
system.h文件写着一些关于位带操作的东西,system.c文件写着关于终端的东西。
SysTick文件就是stm32的定时器,里面给了一些精确的延时函数。
User文件夹中放着main.c文件以.c及一些关于stm32f10x的.c文件以及.h文件。
完成了文件夹中文件的管理,接下来就是在Keil软件中的项目管理。如下图所示。对于Startup,StdPeriph_Driver(要用到什么文件直接添加即可)以及CMSIS,只需对应着将指定文件添加到相关文件夹下面即可,这些一般是比较固定的。与我们相关比较大的是User与APP。
值得注意的是,在Keil软件工程界面并没有看到任何的.h文件,整体也比较简洁。
补充一点在.c文件中头文件头文件都是这么写的:#include"led.h"等等。这样写的意思是软件在编译的时候,会现在工程的文件夹中找有没有led.h文件,如果没有再去安装keil软件的目录下找有没有此文件。
如何在工程界面上添加文件夹,并向文件夹中添加已经写好的文件?以创建APP文件夹为例。如下图所示。
如上所示,在Keil软件的项目增添了APP文件夹,并将已经写好的C文件添加至了APP文件夹。
至于如何在已有的文件夹中添加新的C文件呢?下面以在APP文件夹中添加led.c文件为例。
一种方法直接是在软件界面的APP目录下新建C文件以及H文件(APP目录右键选择Add New···,选择是C文件还是H文件),修改存储的位置。或者之后在工程文件夹中可手动将led.c文件以及led.h文件拖入到APP文件夹下(可自己创建led子文件夹,使得工程文件夹更为简洁)。
第二种方法是直接在Target下新建C文件以及H文件,之后保存的时候根据是C文件还是H文件修改后缀名即可,保存到APP文件夹下。之后,可以效仿上述添加文件夹的方法将新建的文件放置到软件的APP目录下。
综上,完成简单的文件管理,其实,有些文件夹了解即可,之后也不需要这样一步一步来,直接找个模板就行了,后面的工作就是在User中修改main.c文件以及在APP中增加修改外设相关的C文件以及H文件。
附录: