stm32 库函数编程点亮一个LED灯

2025-11-21 01:17:39

1、我们把工程项目模板重新复制一份,改名为“点亮一个LED灯”

在USR文件夹下创建led文件夹

led文件夹下面新建以下两个文件

bsp_led.c

bsp_led.h

stm32 库函数编程点亮一个LED灯

2、然后我们用keil打开这个工程项目

点击如下图圈上的图标

stm32 库函数编程点亮一个LED灯

3、新建一个led文件夹

然后我们把刚新建的文件导入到led文件夹

stm32 库函数编程点亮一个LED灯

4、在bsp_led.h文件里

#ifndef __BSP_LED_H__

#define __BSP_LED_H__

#include "stm32f10x.h"

#define LED1_GPIO_CLK RCC_APB2Periph_GPIOB

#define LED1_GPIO_PORT GPIOB

#define LED1_GPIO_PIN GPIO_Pin_5

void LED_GPIO_Config(void);

#endif

stm32 库函数编程点亮一个LED灯

5、在bsp_led.c文件里

#include "./led/bsp_led.h"

void LED_GPIO_Config(void)

{

GPIO_InitTypeDef GPIO_InitStruct;

//打开外设时钟

RCC_APB2PeriphClockCmd(LED1_GPIO_CLK,ENABLE);

//配置初始化结构体

GPIO_InitStruct.GPIO_Pin = LED1_GPIO_PIN;

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz;

//调用外设初始化函数,把配置好的结构体成员写到寄存器里面

GPIO_Init(LED1_GPIO_PORT,&GPIO_InitStruct);

}

stm32 库函数编程点亮一个LED灯

6、在main.c文件里

#include "./led/bsp_led.h"

void delay(uint32_t count);

int main(void)

{

LED_GPIO_Config();

while(1)

{

GPIO_SetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);

delay(0xfffff);

GPIO_ResetBits(LED1_GPIO_PORT,LED1_GPIO_PIN);

delay(0xfffff);

}

}

void delay(uint32_t count)

{

for (;count!=0;count--);

}

stm32 库函数编程点亮一个LED灯

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢