#include "led.h"
#include "stm32f10x.h"
#include "systick.h"
void LED_Init(void){
//点亮PB5口的LED0,根据原理图引脚,GPIOB属于外设APB2
//1.先调用rcc里面的APB2外设时钟控制函数
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB ,ENABLE);
//2.结构体类型 定义一个名字
//3.配置(引脚,模式,频率)
//4.调用GPIO_Init函数
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStruct);
//5.设置高电平,省电
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
//控制灯亮的状态
void LED_ON(void){
GPIO_ResetBits(GPIOB,GPIO_Pin_5);
}
//控制灯灭的状态
void LED_OFF(void){
GPIO_SetBits(GPIOB,GPIO_Pin_5);
}
//延迟函数
void Delay(int n){
while(n--);
}
//led.h
#ifndef __LED_H
#define __LED_H#include "stm32f10x.h"
#include "system.h"//声明操作函数
extern void LED_Init(void);
extern void LED_On(void);
extern void LED_Off(void);
extern void Delay(int n);//led0 - GPIOB5
//LED0 = 0, 灯亮; LED0 = 1, 灯灭;
#define LED0 PBout(5)#endif