STM32F407 建立工程并点亮LED灯

您所在的位置:网站首页 stm32f101c8t6点灯 STM32F407 建立工程并点亮LED灯

STM32F407 建立工程并点亮LED灯

2024-01-03 01:24| 来源: 网络整理| 查看: 265

基于keil5下建立工程模板 + GPIO点灯 keil 5 下建立stm32f4工程1.建立工程文件夹目录2.从官方固件库中导入文件到工程目录中3.打开keil5创建F4工程4.建立工程总结 点亮LED添加系统文件创建LED文件目录,并编写LED文件魔术棒配置参数总结

keil 5 下建立stm32f4工程 1.建立工程文件夹目录

在电脑某盘中创建一个文件夹,里面包含如下所示的文件目录: 在这里插入图片描述 其中各个代表的意思为 FWLIB: 存放F4官方标准外设库文件(包括.c文件和.h头文件) CORE: 存放F4内核相关的文件 DOC: 存放说明性问档文件(.txt文件) SYSTEM: 存放F4系统文件(sys delay 和 usart) HARDWARE: 存放自己写的.c和.h文件 OBJ: 存放生成的一些列文件(.hex) USER: 存放main函数文件以及一些相关的官方文件

2.从官方固件库中导入文件到工程目录中

直接去官网下载STM32F4的固件库,放置电脑某个位置。这里直接在正点原子官网下载的:stm32f4_dsp_stdperiph_lib.zip 解压之后有一个 STM32F4xx_DSP_StdPeriph_Lib_V1.4.0 的文件夹。 然后从该文件夹中搬运文件到自己建立的工程目录下去 ①.搬运外设文件到FWLIB中 进入路径: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver 里面有inc 和 src的文件夹 分别存放.h和.c文件的外设库,直接将两个文件夹子复制粘贴到自己的工程目录FWLIB下 ②.搬运内核文件到CORE中 进入路径: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Include 里面有一些.h文件 直接可以全选复制粘贴到自己的工程目录CORE下, 进入路径: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm 如图所示,里面有.s启动文件,选择第一个复制粘贴到工程目录CORE下 在这里插入图片描述 ③.搬运main函数文件以及相关文件到USER中 进入路径: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates 将main.c main.h stm32f4xx_conf.h stm32f4xx_it.c stm32f4xx_it.h system_stm32f4xx.c文件全部复制粘贴到USER中 进入路径: STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include 将里面的两个文件 system_stm32f4xx.h stm32f4 xx.h 复制粘贴到USER目录中 至此文件全部添加完毕!

3.打开keil5创建F4工程

点击任务栏 Project -> new uVision Project 然后系统会弹出提示框框,直接选择在刚刚建立的USER目录下建立工程 文件名自己取。 之后选择芯片包如图所示:(用的是ZET6最小系统板) 在这里插入图片描述 弄好直接一路ok,接下来就是将文件添加到keil工程项目中去 在这里插入图片描述 完成后右边的Files框 选择Add Files,会自动跳往工程目录下,对应文件按如下选择 USER 在这里插入图片描述 CORE 在这里插入图片描述 FWLIB .c外设库文件较多,add file时候直接全选然后添加(将fmc.c这个文外设文件删除,否则会报错),或者可以选择把用到的添加进去 在这里插入图片描述 然后就是包含文件路径以及宏定义, 在这里插入图片描述 添加.h文件的路径,不添加的话编译时候会报错 这里添加的路径都是.h文件所在目录 在这里插入图片描述 打开f4xx.h文件,找到定义 STM32F40_41xxx,(启动文件用的这个)这里面定义了一些外设的通道,将其复制到魔术棒的Define中 在这里插入图片描述 完成上述步骤后直接双击下载按钮,然后看生成窗口,出现如图所示的现象代表配置成功! 在这里插入图片描述

4.建立工程总结

1.配置32库的过程可能有点麻烦,尤其是在官方固件库转移文件的时候,但是配置过程也是了解32项目构造的过程,尤其是几个内核外设文件库的配置,能够帮助理解32工程项目的构造以及后续头文件、函数的调用。 2.无论是F1还是F4的配置思路都是大同小异的,只需要改指定的外设库和内核即可

点亮LED 添加系统文件

系统文件包括delay sys usart,直接用原子哥的导入即可 按照上述相同的方法在keil工程中建立SYSTEM的目录用来保存三个系统文件

创建LED文件目录,并编写LED文件

Windows下进入工程文件目录,打开HARDWARE目录,新建LED文件目录,之后在LED目录下新建led.c和led.h文件 进入Keil5,在工程中的HARDWARE目录下导入led.c文件(led.h文件在下载的时候自动导入进去)

led.c 初始化GPIO结构体,配置成输出模式 推挽输出 定义GPIO输出引脚 输出速度配置

#include "led.h" void LED_Init(void) { //初始化PE9 (开发板上与LED灯相连) GPIO_InitTypeDef GPIO_InitStruct; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE); GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9; GPIO_InitStruct.GPIO_Speed = GPIO_Medium_Speed; GPIO_Init(GPIOF,&GPIO_InitStruct); }

led.h

#ifndef _LED_H_ #define _LED_H_ //系统头文件 #include "sys.h" #define LED0 PFout(9) //定义宏 直接可以用LED0来表示PE9端口电平 void LED_Init(void); //初始化函数 #endif 魔术棒配置参数

在这里插入图片描述

main

#include "stm32f4xx.h" #include "delay.h" #include "led.h" int main(void) { delay_init(168); LED_Init(); while(1) { LED0 = 0; delay_ms(1000); LED0 = 1; delay_ms(1000); } }

把头文件全部添加路径后,直接下载程序,并将代码烧录到板子中去即可实现LED灯的循环亮灭!

总结

LED灯的亮灭一般就是来检测程序编写是否有问题或者作为一个判断标志使用,在工程项目中,可以留着LED的目录作为检测代码是否正确使用!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3