STM32F407霸天虎HAL库学习笔记——点灯

STM32F407霸天虎HAL库学习笔记——点灯

  • 一、软件准备
    • Keil5
    • CubeMx
  • 二、硬件准备
  • 三、CubeMX配置
  • 四、keil编程
    • main函数

之前的小熊派由于接线失误把主控芯片给烧穿了,就只能再买个新的开发板继续学习,是真贵啊心疼死我了(斜眼笑)旧的不去新的不来哈哈哈,好了进入正题,记录一下STM32F407霸天虎的学习过程,首先拿到一个新的开发板,第一步做的是什么?对没错,点灯!!!

一、软件准备

Keil5

在官网下载(注意下载正确版本,STM32属于MDK-Arm):https://www.keil.com/download/product/STM32F407霸天虎HAL库学习笔记——点灯_第1张图片

CubeMx

在官网下载:https://www.st.com/zh/development-tools/stm32cubemx.html
STM32F407霸天虎HAL库学习笔记——点灯_第2张图片

二、硬件准备

STM32F407霸天虎
STM32F407霸天虎HAL库学习笔记——点灯_第3张图片
DAP下载器STM32F407霸天虎HAL库学习笔记——点灯_第4张图片

三、CubeMX配置

野火霸天虎用的主控芯片是STM32F407ZGT6
STM32F407霸天虎HAL库学习笔记——点灯_第5张图片
RCC选择外部高速时钟
STM32F407霸天虎HAL库学习笔记——点灯_第6张图片
Debug要选择Serial Wire,否则就只能烧录一次
STM32F407霸天虎HAL库学习笔记——点灯_第7张图片
根据原理图可以知道,开发板的LED引脚在PF6,7,8上,除此之外还有一个PC3的蓝色LED灯,都为低电平点亮
STM32F407霸天虎HAL库学习笔记——点灯_第8张图片
所以,将PF6,7,8和PC3配置为OUTPUT,引脚名称可以根据自己喜好自定义或者默认,其他的GPIO配置默认就可以
STM32F407霸天虎HAL库学习笔记——点灯_第9张图片
转跳到时钟树配置,STM32F407ZGT6的最大时钟频率是168MHz,开发板的外部晶振为 25MHz,我们填入 25;通道选择 LSE;PLLM 选择为/25;倍频系数 N 选择
为 x336;系统时钟选择 PLLCLK;系统时钟设定为 168Mz;APB1 分频系数选择为/4 即 PCLK1 位
42MHz;APB2 分频系数选择为/2 即 PCLK2 位 84MHz。
STM32F407霸天虎HAL库学习笔记——点灯_第10张图片
根据自己的项目名称命名,IDE选择MDK-ARM(keil被收购后就改名成MDK-ARM)
STM32F407霸天虎HAL库学习笔记——点灯_第11张图片
STM32F407霸天虎HAL库学习笔记——点灯_第12张图片
配置完成后点击Generate Code,再点击OpenProject即可从keil软件中打开该工程
STM32F407霸天虎HAL库学习笔记——点灯_第13张图片

四、keil编程

由于我们的Debug用的是DAP,如图下选择Debug和下载配置
STM32F407霸天虎HAL库学习笔记——点灯_第14张图片

main函数

  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		HAL_GPIO_TogglePin(LED_U_GPIO_Port,LED_U_Pin);
		HAL_Delay(500);
		HAL_GPIO_TogglePin(LED_R_GPIO_Port,LED_R_Pin);
		HAL_Delay(500);
		HAL_GPIO_TogglePin(LED_G_GPIO_Port,LED_G_Pin);
		HAL_Delay(500);
		HAL_GPIO_TogglePin(LED_B_GPIO_Port,LED_B_Pin);		
		HAL_Delay(500);

  }
  /* USER CODE END 3 */

HAL_GPIO_TogglePin 函数作用是将GPIO的电平翻转

编译烧录后即可,板上效果:蓝色小LED闪烁,大LED多彩闪烁,至此点灯完成!

你可能感兴趣的:(STM32,HAL库,stm32,单片机,arm,学习)