创建STM32工程模板

描述

1、 创建一个工程文件夹,并且在文件夹里创建三个文件夹并分别以CORE、STM32F10X_LIB、USER命名。

 

2、 将STM32F10x_StdPeriph_Lib_V3.5.0里跟内核相关的几个文件(core_cm3.c/core_cm3.h、startup_stm32f10x_hd.s、stm32f10x.h、system_stm32f10x.c/system_stm32f10x.h)拷贝到CORE文件目录里,几个文件路径如下图所示。


 

 

Core

 

 

Core


 

 

Core

 

 

3、将STM32F10x_StdPeriph_Lib_V3.5.0里的库函数文件拷贝到STM32F10X_LIB文件夹里,文件夹路径如图所示。

 

 

Core

 

4、核对复制文件
 

 

 

Core

 

 

Core

 

5、打开keil_MDK软件,依次点击菜单栏里的Project->New uVision Project,命名工程名称,这里的工程名称为“MDK_TEMP”并保存在前面新建的文件夹USER里,如图所示。


 

 

Core


 

6、选择芯片型号,由于我们是基于F1系列产品的STM32F103ZE进行创建工程,所以我们选择STMicroelectronics->STM32F1 Series->STM32F103->STM32F103ZE如图所示。

 

 

Core

 

 

Core

 

7、往工程添加分组,这里主要三个分组,分别为USER、CORE、LIB,并往CORE添加core_cm3.c、startup_stm32f10x_hd.s、system_stm32f10x.c等与内核相关文件,往LIB添加STM32F10X_LIBsrc里的库文件,具体步骤如图所示。

 

 

Core

 

 

Core

 

 

Core

 

 

Core

 

 

Core

 

 

8、添加宏定义及头文件路径,具体步骤见图

"USE_STDPERIPH_DRIVER,STM32F10X_HD"


 

 

Core


 

 

Core


 

 

Core


 

 

Core


 

9、创建一个main.c文件,里面可以很简单的创建一个main函数并将该文件保存在USER目录下,并添加进USER组里分别如图所示


 

 

 

Core


 

 

Core


 

10、简单编写main.c,开始编译,编译结果如图所示,从编译结果看有报错


 

 

Core


 

11、添加文件,把需要的文件添加到USER文件夹下
 

 

 

Core


 

 

Core


 

12,重新编译,没有问题,创建完成
 

Core


 

13、点亮LED,下列代码写入main.c文件中,具体请根据开发板脚位

#include "stm32f10x.h"

void LED_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStructure;//定义结构体变量
  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
  
  GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;  //选择你要设置的IO口
  GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;   //设置推挽输出模式
  GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;    //设置传输速率
  GPIO_Init(GPIOC,&GPIO_InitStructure);      /* 初始化GPIO */
  
  GPIO_SetBits(GPIOC,GPIO_Pin_0);   //将LED端口拉高,熄灭所有LED
}

int main(void)
{
  LED_Init();
  while(1)
  {
    GPIO_ResetBits(GPIOC,GPIO_Pin_0);//点亮
  }
}


 

14、下载验证可以驱动LED

 

 

Core
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分