之前的小熊派由于接线失误把主控芯片给烧穿了,就只能再买个新的开发板继续学习,是真贵啊心疼死我了(斜眼笑)旧的不去新的不来哈哈哈,好了进入正题,记录一下STM32F407霸天虎的学习过程,首先拿到一个新的开发板,第一步做的是什么?对没错,点灯!!!
一、软件准备
Keil5
在官网下载(注意下载正确版本,STM32属于MDK-Arm):https://www.keil.com/download/product/
CubeMx
在官网下载:https://www.st.com/zh/development-tools/stm32cubemx.html
二、硬件准备
STM32F407霸天虎
DAP下载器
三、CubeMX配置
野火霸天虎用的主控芯片是STM32F407ZGT6
RCC选择外部高速时钟
Debug要选择Serial Wire,否则就只能烧录一次
根据原理图可以知道,开发板的LED引脚在PF6,7,8上,除此之外还有一个PC3的蓝色LED灯,都为低电平点亮
所以,将PF6,7,8和PC3配置为OUTPUT,引脚名称可以根据自己喜好自定义或者默认,其他的GPIO配置默认就可以
转跳到时钟树配置,STM32F407ZGT6的最大时钟频率是168MHz,开发板的外部晶振为 25MHz,我们填入 25;通道选择 LSE;PLLM 选择为/25;倍频系数 N 选择
为 x336;系统时钟选择 PLLCLK;系统时钟设定为 168Mz;APB1 分频系数选择为/4 即 PCLK1 位
42MHz;APB2 分频系数选择为/2 即 PCLK2 位 84MHz。
根据自己的项目名称命名,IDE选择MDK-ARM(keil被收购后就改名成MDK-ARM)
配置完成后点击Generate Code,再点击OpenProject即可从keil软件中打开该工程
四、keil编程
由于我们的Debug用的是DAP,如图下选择Debug和下载配置
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多彩闪烁,至此点灯完成!