C语言 stm32 控制led灯 代码
时间: 2023-10-11 08:05:56 浏览: 50
以下是使用C语言编写的在STM32控制LED灯的代码:
```c
#include "stm32f10x.h"
void delay(uint32_t time) // 延时函数
{
while (time--);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure; // 定义GPIO结构体
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); // 使能GPIOC时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; // 端口号为13
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // 速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); // 初始化GPIOC
while (1) // 循环
{
GPIO_SetBits(GPIOC, GPIO_Pin_13); // 点亮LED灯
delay(0xFFFFF); // 延时
GPIO_ResetBits(GPIOC, GPIO_Pin_13); // 关闭LED灯
delay(0xFFFFF); // 延时
}
}
```
这段代码首先定义了一个延时函数,用于控制LED灯的亮灭时间。接着在`main`函数中,使能GPIOC时钟并定义了一个GPIO结构体,用于配置GPIOC的13号引脚(即LED灯)。在循环中,先将GPIOC的13号引脚置高,点亮LED灯,然后通过延时函数进行延时,再将GPIOC的13号引脚置低,关闭LED灯,再次通过延时函数进行延时,实现LED灯的闪烁效果。