一、任务要求
任务一:用STM32F103开发板点亮LED0、LED1两个led灯,同时亮 同时灭
任务二:用按键控制两个led
按键灯需求:
按键1控制 LED0亮
按键2 控制 LED1 亮
按键3 控制 LED0 和 LED1 翻转
WK_UP 关闭 LED0 和 LED1
二、任务一
硬件电路
其中 PWR 是系统电源指示灯,为蓝色。LED0(DS0)和 LED1(DS1)分别接在PB5和PE5上。
为了方便大家判断,我们选择了 DS0 为红色的 LED,DS1 为绿色的 LED。
代码
led.h
#ifndef _LED_H
#define _LED_H
#include "./SYSTEM/sys/sys.h"
//宏定义
//开启GPIOB时钟
#define LED0_CLK_ENABLE do{__HAL_RCC_GPIOB_CLK_ENABLE();}while(0)
//开启GPIOE时钟
#define LED1_CLK_ENABLE do{__HAL_RCC_GPIOE_CLK_ENABLE();}while(0)
//设置PB5引脚电平
#define LED0(x) do{x ?\
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(GPIO_PinState)1):\
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,(GPIO_PinState)0);}\