STM32F407ZGT6学习之工程建立及点灯

       大学毕业工作了一段时间,想要重新复习一下STM32的驱动学习,写成博客记录下来,算是对学习的一种总结和记录。

工程代码:https://pan.baidu.com/s/1Qlfg1_br0tN6yy0fcDwCjg,密码:fhh2

(一). 使用的平台

使用的软件平台有两个,分别是IAR8.1和source insight4,下面给出两个软件的下载链接,仅供学习使用,其他用途请使用正版软件:

1. IAR8.1的编译下载平台,百度网盘下载链接:链接:https://pan.baidu.com/s/10_9VpOSaXK8ClsWqcTFSaQ,提取码: 6v2a 

IAR8.1的安装流程可以参考第三方的网址:https://www.sdbeta.com/wg/2018/0307/220301.html。

2. source insight4的编译下载平台,百度网盘下载链接:https://pan.baidu.com/s/1ga36wRzy8ukMmoQfiR5yLw,密码:fcfd

 

source insight4的安装流程在下载的压缩包里有安装文档

(二). STM32工程的创建

1. 创建一个空工程

首先在IAR8.1的平台上创建一个工程,打开IAR8.1,菜单栏->Create New Project->Empty Project->点击OK,选择工程创建的地方进行保存,到此创建了一个空工程;STM32F407ZGT6学习之工程建立及点灯_第1张图片

STM32F407ZGT6学习之工程建立及点灯_第2张图片

2. 添加文件夹

        创建了一个空的工程之后,先在工程里面创建文件夹,以便对之后加进来的文件进行归类存放。

        在工程“project - Debug”上右击,选择“Add”->“Add Group”创建新的文件夹,在创建的文件夹上,执行同样的操作,就可以创建二级文件夹。

STM32F407ZGT6学习之工程建立及点灯_第3张图片      STM32F407ZGT6学习之工程建立及点灯_第4张图片

根据个人习惯,创建好的文件夹如下:

stm32_driver存放STM32相关的文件和开发者编写的外设驱动文件,其中:

① CMSIS存放STM32相关的内核文件、寄存器定义文件、配置文件;

② StdPeriph存放STM32的库函数;

③ Driver存放开发者编写的外设驱动文件。

STM32F407ZGT6学习之工程建立及点灯_第5张图片

3. 添加文件

        首先需要添加STM32相关文件,相关文件压缩包“STM32F4xx_DSP_StdPeriph_Lib”需要到ST官网“https://www.st.com/content/st_com/en.html”下载。

        本工程使用ST公司提供的V1.8.0版本的库函数,百度链接:https://pan.baidu.com/s/1zyG8ZqEhoprVI5YkyiFvmA,密码:6pvf

        该压缩包包含STM32F407芯片相关的文件,压缩包具体介绍可以移步这位博主的文章学习:http://www.cnblogs.com/King-Gentleman/p/4369381.html。

      在工程目录下创建“user文件夹”存放代码文件,在“user文件夹”中创建“library文件夹”,以此创建完文件夹如下:

STM32F407ZGT6学习之工程建立及点灯_第6张图片

① 根据上文提到的各文件夹的功能,存放不同类型的代码文件:

STM32F407ZGT6学习之工程建立及点灯_第7张图片STM32F407ZGT6学习之工程建立及点灯_第8张图片

STM32F407ZGT6学习之工程建立及点灯_第9张图片STM32F407ZGT6学习之工程建立及点灯_第10张图片

② 把STM32相关库文件存放到我们的工程目录下之后,就要在IAR的工程中把需要的文件都加进来,这里我么只需要添加.c文件和一个STM32的启动文件.s文件就行了。

STM32F407ZGT6学习之工程建立及点灯_第11张图片

4. 配置工程文件

       在工程“project - Debug”上右击,选择“Options”进入工程配置

①选择芯片型号,这里需要根据使用的芯片,选择相关的芯片型号,本工程使用的芯片型号是“STM32F407ZGT6”

STM32F407ZGT6学习之工程建立及点灯_第12张图片

 刚才我们在IAR平台上,工程里添加文件的时候没有添加的.h文件,需要在配置文件中添加使用的.h文件的路径,这样工程就能自动找到使用的.h文件了。图中第3方框就是添加的头文件的路径,这里我们添加的是头文件的相对路径,"$PROJ_DIR"代表工程的位置。第4方框是宏定义的,用于选择使用的芯片。

STM32F407ZGT6学习之工程建立及点灯_第13张图片

本工程的下载器使用的是“ST-LINK”,所以下载器选择"ST-LINK",至此,工程的初步配置完成。

STM32F407ZGT6学习之工程建立及点灯_第14张图片

5. 开发阶段

本工程此次点灯功能,在“Driver文件夹中”创建驱动点灯的.c和.h文件,在工程下创建一个main.c文件,并添加到工程中如下

STM32F407ZGT6学习之工程建立及点灯_第15张图片

在这里,我们需要先开时钟,每个外设都用一个时钟,在需要使用的时候才开启,这种可以减少不必要的功耗

工程里控制LED灯的引脚用到了两组GPIO的引脚,所以需要开启这两组GPIO的时钟

STM32F407ZGT6学习之工程建立及点灯_第16张图片

开启时钟之后,就是对GPIO进行配置,使其输出对应的电平驱动LED灯亮,至此,点灯成功。

你可能感兴趣的:(STM32驱动摸索学习)