STM32点亮LED代码
时间: 2024-07-16 19:01:09 浏览: 144
STM32点亮LED的基本步骤通常是在C语言中使用GPIO功能来控制。这里是一个简单的例子,假设我们使用的是STM32F103系列,LED连接到PA8引脚:
```c
#include "stm32f10x.h" // 包含STM32的头文件
// LED初始化函数
void Led_Init(void) {
GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO结构体变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); // 启动GPIOA时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; // PA8引脚作为输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 输出推挽模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 高速
GPIO_Init(GPIOA, &GPIO_InitStructure); // 初始化GPIOA
}
// 点亮LED函数
void Led_On(void) {
GPIO_SetBits(GPIOA, GPIO_Pin_8); // 设置GPIOA的PA8位
}
// 熄灭LED函数
void Led_Off(void) {
GPIO_ResetBits(GPIOA, GPIO_Pin_8); // 清零GPIOA的PA8位
}
int main(void) {
Led_Init(); // 初始化LED
while (1) { // 无限循环
Led_On(); // 点亮LED
Delay_ms(1000); // 等待1秒
Led_Off(); // 熄灭LED
Delay_ms(1000); // 再次等待1秒
}
return 0;
}
阅读全文