stm32f401ccu6闪灯
时间: 2025-03-05 11:34:31 浏览: 39
### STM32F401CCU6 LED闪烁示例代码
对于STM32F401CCU6单片机而言,要实现LED的闪烁功能,可以采用GPIO端口控制。下面提供一段基于HAL库编写的C语言代码来完成这一操作。
#### 初始化配置
首先,在`main.c`文件中的初始化部分设置好系统时钟以及对应的GPIO引脚模式:
```c
#include "stm32f4xx_hal.h"
// 定义使用的 GPIO 和 Pin
#define LED_PIN GPIO_PIN_5
#define LED_GPIO_PORT GPIOD
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
int main(void){
HAL_Init();
SystemClock_Config(); // 配置系统时钟
MX_GPIO_Init(); // 初始化 GPIO
while (1){
HAL_GPIO_TogglePin(LED_GPIO_PORT, LED_PIN); // 切换 LED 状态
HAL_Delay(500); // 延迟 500ms
}
}
static void MX_GPIO_Init(void){
__HAL_RCC_GPIOD_CLK_ENABLE();
GPIO_InitTypeDef GPIO_InitStruct = {0};
/* Configure GPIO pin : PD5 */
GPIO_InitStruct.Pin = LED_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出模式
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
}
```
这段代码实现了最基本的LED闪烁效果[^1]。通过调用`HAL_GPIO_TogglePin()`函数改变指定IO口电平状态从而达到点亮/熄灭外接LED的目的;而`HAL_Delay()`则用于设定两次切换之间的时间间隔。
为了使上述代码正常工作,还需要确保已经正确安装并配置了必要的开发环境,比如Keil MDK或者TrueSTUDIO,并且项目中包含了正确的芯片头文件和支持包。
阅读全文
相关推荐


















