stm32 点亮LED灯

#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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值