STM32手动创建工程-HAL库,超详细

自从ST公司推出了STM32CubeMX软件,使得开发者开发成本和时间大大缩小,通过这款软件,用户可以选择芯片和配置时钟、外设等等,可以直接生成工程代码,虽然功能逻辑还是要自己补充,但是已经省去原来工程创建和繁琐的外设配置。

但是对于初学者要懂得手动创建一个完整的工程,有利于加深对工程目录结构和各类驱动文件的理解,本文将带领读者手动创建基于HAL库的STM32工程项目。


1.新建本地工程文件夹

电脑本地新建“Template_HAL”文件夹,在该文件夹下新建5个文件夹,如下图所示

2.添加HAL库

将HAL库添加到工程文件夹中,HAL库下载和说明我在另外一篇中有详细介绍。

名称 说明 Doc 项目说明相关文档 Drivers HAL库的CMSIS文件夹 HAL库的STM32F1xx_HAL_Driver文件夹 Inc HAL库的“STM32Cube_FW_F1_V1.8.0ProjectsSTM32F103RB-NucleoTemplatesInc”目录下文件复制到本文件夹下: main.h,stm32f1xx_hal_conf.h,stm32f1xx_it.h MDK_ARM 暂时为空 Src HAL库的“STM32Cube_FW_F1_V1.8.0ProjectsSTM32F103RB-NucleoTemplatesSrc”目录下文件复制到本文件夹下: main.c,stm32f1xx_hal_msp.c,stm32f1xx_it.c,system_stm32f1xx.c

3.新建工程

    打开Keil-MDK,新建工程,保存在“Template_HALMDK-ARM”目录下,工程名称可以根据自己的项目命名。
    根据项目使用的CPU具体型号来选择选择芯片,小编这里使用STM32F103C8T6。
    添加组文件夹
    组文件夹添加文件

根据芯片的容量选择启动文件

选择src下的代码源文件

选择项目用到的外设代码源文件

选择系统配置文件

    引入头文件路径
    添加宏

USE_HAL_DRIVER 宏:为了让 stm32f1xx.h 包含 stm32f1xx_hal_conf.h 这个头文件

STM32F103xB 宏:为了告诉 STM32HAL 库,我们使用的芯片类型是 STM32 型号是小容量的,使 STM32HAL 库根据我们选定的芯片型号来配置。

    点击编译出会错,此时删除main.c中“#include "stm32f1xx_nucleo.h"”,我们不需要引入ST官方套件的相关代码。再次点击编译提示成功。

经验分享 程序员 微信小程序 职场和发展