使用STM32点亮一个LED灯代码
时间: 2024-10-12 11:13:15 浏览: 40
使用STM32单片机点亮LED灯的基本步骤通常是设置GPIO口作为输出模式,并配置为推挽输出,然后通过驱动IO线将LED连接到该GPIO上。下面是一个简单的基于STM32F103C8T6的CubeMX生成的C代码示例:
```c
#include "stm32f10x.h"
// LED灯的GPIO初始化信息
GPIO_InitTypeDef GPIO_InitStructure;
void LED_Init(void)
{
// GPIOA用于控制LED灯
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); // 启动GPIOA时钟
// 设置GPIOA的PA0位为推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // 对应于LED灯的GPIO引脚
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 输出推动
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 高速
GPIO_Init(GPIOA, &GPIO_InitStructure);
}
void LED_Toggle(void) // 点亮、熄灭LED
{
GPIO_SetBits(GPIOA, GPIO_Pin_0); // 设定GPIOA的PA0位(低电平),LED点亮
// 或者
GPIO_ResetBits(GPIOA, GPIO_Pin_0); // 设定GPIOA的PA0位(高电平),LED熄灭
}
int main(void)
{
LED_Init(); // 初始化LED
while (1)
{
LED_Toggle(); // 持续交替点亮和熄灭LED
delay_ms(500); // 等待一段时间
}
return 0;
}
```
阅读全文