新建基于STM32F4xx固件库的MDK5工程模板

   日期:2020-07-10     浏览:143    评论:0    
核心提示:这是在看了正点原子的视频自己一步一步地记载下的。1.新建一个文件夹,这里我选择了新建了一个Template,在这个文件夹下新建五个文件夹2.2.新建工程,打开keil,点击项目,新建项目新建文件保存在USER下,文件名命名初步为Template,之后按照按照下图的步骤进行选择Stm32的型号之后弹出这个页面,将其cancel即可3.文件的复制探索者光盘是有一个固件库的文件的,目录为“【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\\【正点原子】探索者ST

这是在看了正点原子的视频自己一步一步地记载下的。

1.新建一个文件夹,这里我选择了新建了一个Template,在这个文件夹下新建五个文件夹2.

2.新建工程,打开keil,点击项目,新建项目

新建文件保存在USER下,文件名命名初步为Template,

之后按照按照下图的步骤进行选择Stm32的型号

之后弹出这个页面,将其cancel即可

3.文件的复制

探索者光盘是有一个固件库的文件的,目录为“【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\8,STM32参考资料\1,STM32F4xx固件库”

3.1 找到之后进入这个文件中找到下面的目录“\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\STM32F4xx_StdPeriph_Driver”,将里面的inc和src两个文件夹进行复制,复制到步骤1所建的FWLIB文件当中,如图:

3.2 在这个文件夹下“\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Source\Templates\arm”找到40_41xxx.s,复制到1步骤下的CORE文件夹下,同样的,将这个文件夹“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Include”下的蓝色部分四个文件进行复制,复制到CORE下,如图

复制过后的CORE文件夹

3.3 找到文件夹“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Project\STM32F4xx_StdPeriph_Templates”,将阴影部分的5个文件复制,

此外还有“\1,STM32F4xx固件库\1,STM32F4xx固件库\STM32F4xx_DSP_StdPeriph_Lib_V1.4.0\Libraries\CMSIS\Device\ST\STM32F4xx\Include”中的两个.h文件复制

复制到USER文件夹中,复制过后如图所示

4.工程文件进行修改

右键Target1,点击Manage,如图

4.1 进到如下页面进行修改,改成下面的形式,FWLIB中添加FWLIB中的src文件下的内容

添加过后fmc.c文件要删掉

4.2 CORE添加文件

下面的文件类型修改一下才能找到目标文件,如@3.

4.3 USER添加文件,添加蓝色区域

添加过后可看到主界面

5.添加头文件

5.1 添加的目录不能错,include path下添加

5.2 添加define

STM32F40_41xxx,USE_STDPERIPH_DRIVER

5.3 output设置

5.4 setting folde rfor objects设置 目录为OBJ

6.程序更改

6.1 Main.c的内容更换掉,

具体改为工程文件readme(G:\stm32\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\4,程序源码\2,标准例程-库函数版本\实验0 Template工程模板\README)下面的文件,如下

#include "stm32f4xx.h"

//ALIENTEK 探索者STM32F407开发板 实验0

//STM32F4工程模板-库函数版本

//技术支持:www.openedv.com

//淘宝店铺:http://eboard.taobao.com

//广州市星翼电子科技有限公司 

//作者:正点原子 @ALIENTEK

 

void Delay(__IO uint32_t nCount);

 

void Delay(__IO uint32_t nCount)

{

  while(nCount--){}

}

 

int main(void)

{

 

  GPIO_InitTypeDef  GPIO_InitStructure;

  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);

 

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;

  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;

  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;

  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

  GPIO_Init(GPIOF, &GPIO_InitStructure);

 

  while(1){

              GPIO_SetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);

              Delay(0x7FFFFF);

              GPIO_ResetBits(GPIOF,GPIO_Pin_9|GPIO_Pin_10);

              Delay(0x7FFFFF);

      

       }

}

6.2 stm32f4xx_itc更改

6.3之后进行编译 下载 ,可串口,可stlink

下载到板子上出现两个等同时亮灭的情况,即为本次工程ok。完整的工程模板已经建立。

7.其他源码添加到工程(system文件夹)

例如将跑马灯的程序移植过来,步骤如下:

7.1 将库函数流水灯里面的system复制到新建的system(第1步建的文件夹)

7.2 添加到工程中

7.2.1 Group里新建system,将system里的子文件夹中的.c文件统统添加上

7.2.2 将.h文件添加到工程中

7.3 修改参数

修改main.c的内容

找到此文件夹“\【正点原子】探索者STM32F407开发板资料 视频盘(A盘)\4,程序源码\2,标准例程-库函数版本\实验0 Template工程模板\USER”,将其中的main.c文件以记事本方式打开,代替工程中的main.c

结束。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服