如何配置stm32f1的hal库

如何配置stm32f1的hal库,第1张

将下载好的固件库添加到工程目录中,并在工程中添加相应的文件,以闪烁LED灯为例子。

新建user、proj文件夹

复制 STM32Cube_FW_F1_V1.4.0\Drivers\STM32F1xx_HAL_Driver\Inc 里的 stm32f1xx_hal_conf_template.h 到user目录中,并重命名为stm32f1xx_hal_conf.h。

复制 STM32Cube_FW_F1_V1.4.0\Projects\STM32F103RB-Nucleo\Templates\Src 文件夹里面的 stm32f1xx_it.c 以及 STM32Cube_FW_F1_V1.4.0\Projects\STM32F103RB-Nucleo\Templates\Inc 文件夹里面的 stm32f1xx_it.h 到user文件夹中。如果stm32f1xx_it.c 中SysTick_Handler 为空的话,请在该文件的放置头文件的地方添加#include "stm32f1xx.h" 如下图所示:

并在SysTick_Handler 函数中添加HAL_IncTick(),如下图所示:

新建一个C文件,输入例程。

添加程序代码, STM32Cube_FW_F1_V1.4.0\Drivers\STM32F1xx_HAL_Driver\Src文件夹里面的单片机驱动程序(根据需要添加)、 STM32Cube_FW_F1_V1.4.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates 文件夹里面的 system_stm32f1xx.c 、 STM32Cube_FW_F1_V1.4.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm 文件夹里面的启动文件(根据实际情况添加)、 user 文件夹里面的 stm32f1xx_it.c 和 gpio_demo.c 添加到工程的程序文件如下图所示:

添加的头文件路径如下图所示:

在c/c++编译器选项宏定义一栏中添加STM32F103xE,USE_HAL_DRIVER (查看stm32f1xx.h),如下图所示:

编译

各功能模块的配置以及使用

stm32固件库是各功能模块的配置以及使用。类似于api,接触少数底层就可以写出程序。提高开发效率及降低门槛。而外设库只是固件库的一部分。

另外外设库、CMSIS、DSP库、三方驱动等组合起来就成固件库。固件为硬件服务,与驱动一同完成软硬件的交互。固件提供了一种规范,可以兼容不同的 *** 作系统。

扩展资料:

HAL固件库编程,文件组织大致分三个部分:HAL驱动、CMSIS驱动和用户编写程序。如使用的是ST官网的开发板,还有一套现成的驱动可供使用,板级支持包(BSP)。

HAL驱动是ST提供的一些包装好的硬件抽象层的驱动,CMSIS是ARM内核相关的一些驱动,这个一般编程都 *** 纵不到,大部分都是调用HAL的程序。

除此之外system文件也是包含在CMSIS下的,只要到对应的文件夹下拷贝出来就好了,因此在 *** 作中要注意区分,如果要更改文件,建议提前备份。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11284694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存