STM32F1学习笔记一:点亮LED&&按键控制

文章详细介绍了如何使用STM32F103开发板通过STM32HAL库控制LED0和LED1的点亮、熄灭以及按键操作,包括LED的硬件电路设计、GPIO配置、宏定义和函数实现,以及按键扫描和LED状态切换的程序逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、任务要求

任务一:用STM32F103开发板点亮LED0、LED1两个led灯,同时亮 同时灭

任务二:用按键控制两个led

                按键灯需求:

                按键1控制 LED0亮

                按键2 控制 LED1 亮

                按键3 控制 LED0 和 LED1 翻转

                WK_UP 关闭 LED0 和 LED1

二、任务一

硬件电路

        其中 PWR 是系统电源指示灯,为蓝色。LED0(DS0)LED1(DS1)分别接在PB5PE5上。

为了方便大家判断,我们选择了 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);}\
      
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰壳也可

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值