STM32F072从零配置工程-建立工程文件

快速建立工程有两种方法:

       第一种是通过官方提供的外设库来搭建,好处是使用库函数,而不需要深入研究寄存器配置;

       第二种是通过STM32CubeMX,好处是直观快速,可以直接帮你配置好功能和时钟,不过使用的是HAL库,在扩展功能逻辑时需要了解相应的寄存器和宏定义来配置;

 

       如果你对芯片构造和外设原理较为了解,可以直接使用CMSIS文件和System Startup文件,接下来采用寄存器配置的方式,自己全部配置;

 

第一种方法:

第一步:找到官方外设库

STM32F072从零配置工程-建立工程文件_第1张图片

 

STM32F072从零配置工程-建立工程文件_第2张图片

 

 STM32F072从零配置工程-建立工程文件_第3张图片

 

 

第二步:使用KeilMDK建立新的工程文件

个人工程目录结构如下:

  CORE:存放CMSIS Core Support文件(core_cm0.h)和System Startup文件(.s);

  LIB:存放标准外围设备驱动程序库文件,分为inc(.h)和src(.c)两个部分;

  OUT:存放Keil输出文件,分别存放LIST和OBJ;

  SYS:存放自己编写的外设文件;

  USER:Keil工程文件、main.c文件、外设驱动配置文件(stm32f0xx_config.h)、片上外设访问层头文件(stm32f0xx.h)、中断服务函数文件(stm32f0xx_it.c/stm32f0xx_it.h)、片上外设接入层系统头文件(system_stm32f0xx.c/system_stm32f0xx.h)

 STM32F072从零配置工程-建立工程文件_第4张图片

 

在USER中新建工程,然后分别导入c文件和s文件、引入头文件目录;

需要注意几点:

       开启C99模式,或在MiscControls中添加关键词-C99;

       在Define中添加关键定义

USE_STDPERIPH_DRIVER,STM32F072,USE_DEFAULT_TIMEOUT_CALLBACK

 

由于库函数配置需要自己设定时钟,结合具体的硬件设计,比如应用到了哪些外设时钟源(HSE、HSI、是否需要使用PLL),因此不可避免地会需要了解库函数的结构与整体框架来实现与具体外设硬件的对接配置;

而采取官方的STM32CubeMX进行配置就会好很多,配置较为直观,但是对工程和硬件以及软件HAL库需要都有一个很好的了解,如果习惯了寄存器编程的话会很容易上手,毕竟都是底层操作寄存器,而HAL库与库函数之间的设计思路相似,上手也不难;

你可能感兴趣的:(STM32F072从零配置工程-建立工程文件)