STM32F407点亮LED灯(HAL库)

相信大部分初学者所接触到单片机的第一个实验时led灯,点亮一个LED或者做一个LED流水灯的操作​。

下面来看一下用HAL库怎么完成这个实验

第一步​;打开STM32CubeMX,找到LED对应的引脚,配置为GPIO输出

第二步:在SYS中选择Serial Wire,只有选择了,之后的工程才能用st-link正常烧录

​第三步:开启外部时钟,使能达到407的最大频率168mhz

​第四步:生成工程代码,注意选项,可以参考我之前写的一篇文章STM32CubeMX的下载安装以及使用 (qq.com)

第五步:生成完的过程文件就如下图所示,引脚和时钟的配置都配好了,不需要自己配了

然后在主函数的while(1)中写入控制LED灯的程序即可

while (1)  {    /* USER CODE END WHILE */        //点亮LED    //HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10|GPIO_PIN_9, GPIO_PIN_RESET);    {    //LED闪烁    HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_9|GPIO_PIN_10);    HAL_Delay(1000);  }    /* USER CODE BEGIN 3 */  }

这样就能实现点亮和控制LED了,是不是非常简单,感兴趣的小伙伴可以去试一下哦!

个人公众号,我一般会把资料都整理到公众号上,完全免费的。感兴趣的可以关注一下

 

### 实现 STM32F407 开发板上 LED 点亮的配置指南 #### 1. 准备工作 确保已安装并正确配置 STM32CubeIDE 开发环境[^2]。如果尚未完成,请参考相关教程进行安装和设置[^3]。 #### 2. 创建新工程 打开 STM32CubeIDE 并创建一个新的 STM32 工程,选择目标微控制器型号为 **STM32F407**。在工程设置过程中,指定正确的开发板核心芯片型号及相关参数。 #### 3. 配置 GPIO 外设 通过 STM32CubeMX 或 IDE 的图形化界面配置 GPIO 引脚作为输出模式以控制 LED。假设 LED 连接至 PA5 引脚,则需执行以下操作: - 打开 Pinout & Configuration 页面。 - 将 PA5 设置为 GPIO_Output 模式。 - 在 Clock Configuration 中启用必要的时钟源。 - 保存配置并生成代码。 #### 4. 修改生成的代码 生成代码后,在 `main.c` 文件中找到主循环部分,添加如下代码用于点亮 LED: ```c #include "stm32f4xx_hal.h" int main(void) { HAL_Init(); // 初始化HAL SystemClock_Config(); // 配置系统时钟 __GPIOA_CLK_ENABLE(); // 启用GPIOA时钟 GPIO_InitTypeDef GPIO_InitStruct = {0}; // 配置PA5为输出模式 GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出 GPIO_InitStruct.Pull = GPIO_NOPULL; // 不带上下拉电阻 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // 输出速度低 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); while (1) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET); // 点亮LED HAL_Delay(1000); // 延迟1秒 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // 关闭LED HAL_Delay(1000); // 延迟1秒 } } ``` 上述代码实现了 LED 的周期性点亮与熄灭功能[^1]。 #### 5. 编译与下载 编译完成后,将生成的二进制文件下载到 STM32F407 开发板中运行。确认硬件连接无误后,观察 LED 是否按预期闪烁。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木白baineng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值