stm32f1xx HAL库配置说明

一、工程配置

  1. 将下载好的固件库添加到工程目录中,并在工程中添加相应的文件,以闪烁LED灯为例子。
  2. 新建user、proj文件夹。
  3. 复制 STM32Cube_FW_F1_V1.4.0\Drivers\STM32F1xx_HAL_Driver\Inc 里的 stm32f1xx_hal_conf_template.h 到user目录中,并重命名为stm32f1xx_hal_conf.h
  4. 复制 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.cSysTick_Handler 为空的话,请在该文件的放置头文件的地方添加#include "stm32f1xx.h" 如下图所示:

    并在SysTick_Handler 函数中添加HAL_IncTick(); ,如下图所示:
  5. 新建一个C文件,输入例程。
  6. 添加程序代码, 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.cSTM32Cube_FW_F1_V1.4.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm 文件夹里面的启动文件(根据实际情况添加)、 user 文件夹里面的 stm32f1xx_it.cgpio_demo.c 添加到工程的程序文件如下图所示:
  7. 添加的头文件路径如下图所示:
  8. 在c/c++编译器选项宏定义一栏中添加STM32F103xE,USE_HAL_DRIVER (查看stm32f1xx.h),如下图所示:
  9. 编译

二、例程

#include "stm32f1xx.h"  

void bsp_led_init( void )
{
    GPIO_InitTypeDef gpioInitStructure;

    __HAL_RCC_GPIOD_CLK_ENABLE();
    __HAL_RCC_GPIOG_CLK_ENABLE();

    gpioInitStructure.Mode  = GPIO_MODE_OUTPUT_PP;
    gpioInitStructure.Pull  = GPIO_NOPULL;
    gpioInitStructure.Speed = GPIO_SPEED_FREQ_LOW;
    gpioInitStructure.Pin   = GPIO_PIN_13;

    HAL_GPIO_Init(GPIOD, &gpioInitStructure);

    gpioInitStructure.Mode  = GPIO_MODE_OUTPUT_PP;
    gpioInitStructure.Pull  = GPIO_NOPULL;
    gpioInitStructure.Speed = GPIO_SPEED_FREQ_LOW;
    gpioInitStructure.Pin   = GPIO_PIN_14;

    HAL_GPIO_Init(GPIOG, &gpioInitStructure);
}

void bsp_led_run( void )
{
    HAL_GPIO_TogglePin(GPIOD, GPIO_PIN_13);
    HAL_Delay(30);

    HAL_GPIO_TogglePin(GPIOG, GPIO_PIN_14);
    HAL_Delay(70);
}

int main( void )
{
#ifdef USE_HAL_DRIVER
    HAL_Init();
#endif

    bsp_led_init();

    while(1)
    {
        bsp_led_run();
    }
}

你可能感兴趣的:(STM32,stm32,HAL库)