STM32————Delay延迟函数控制LED灯

/ ********************* led.h文件**************/
#ifndef _led_H
#define _led_H
//引用库stm32f10x.h
#include <stm32f10x.h>
Define LED_GPIO_PORT GPIOC
Define LED_GPIO_PIN GPIO_pin_13
void LED_Init(void);
void delay(u32 i);
Void LED_ON(void);
Void LED_Off(void);
#endif
/ ********************* led.h文件**************/
/ ********************* led.c文件**************/

//引用库led.h
#include “led.h”
/延时函数/
void delay(u32 i)
{
while(i–);
}
/LED涉及的相关引脚及时钟初始化函数/
void LED_Init()
{
SystemInit(); //配置系统时钟为72Mhz
//给GPIOC(本文使用GPIOC)开启时钟的时候引用此函数
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
//调用库函数里面的结构体函数 GPIO_InitTypeDef
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin= LED_GPIO_PIN //设置引脚
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; //设置模式
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置速度
GPIO_Init(LED_GPIO_PORT,&GPIO_InitStructure); //因为结构体原函数为指针,所以加上地址&符号
}
Void LED_ON(void)//开启LED灯
{
GPIO_ResetBits(LED_GPIO_PORT, LED_GPIO_PIN);
}
Void LED_Off(void) //关闭LED灯
{
GPIO_SetBits(LED_GPIO_PORT, LED_GPIO_PIN);
}
/ ********************* led.c文件**************/
/ ********************* main.h文件**************/
main()
#include “stm32f10x.h”
#include “led.h”
{
LED_Init();
While(1)
{
Void LED_ON(void);
void delay(500);
Void LED_Off(void);
void delay(500);
}
}
/ ********************* main.h文件**************/

猜你喜欢

转载自blog.csdn.net/News53231323/article/details/113244918