2、KEY_LED 通过按键来点亮小灯

本文档介绍了一个实验项目,通过按键控制3个LED灯的状态。当按键按下,相应LED灯亮起;松开时,灯熄灭。采用Cubemax配置RCC和引脚,学习头文件和枚举的应用。在gpio.c和.h文件中定义数据类型、函数声明和实现,包括引脚初始化配置,确保按键设为输入模式,LED设为推挽输出的输出模式。

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

1.实现功能

实验板上有三个按键,和三个led灯。当烧入程序后,三个灯都是关断状态。
如果按下其中一个按键,则对应一个led灯变亮。当松开时,对应的led灯关灭。
硬件图如下:
LED与KEY的硬件接线图

2.软件编程实现

本人使用cubemax配置rcc和引脚。
通过本例程可以来学习头文件的应用,以及枚举的应用。

  1. 在gpio.h中添加数据类型,Led_TypeDef,KEYState_TypeDef
typedef enum
{
	LED0,
	LED1,
	LED2,
	
}Led_TypeDef;	

typedef enum 
{ 
  KEY0  = 0,
  KEY1  = 1,
  WK_UP  = 2,
  KEY_NONE  = 3, 
}KEYState_TypeDef;

2.在gpio.h中添加函数声明,这些函数会在其他.c文件中被调用。

void BSP_LED_On(Led_TypeDef Led);
void BSP_LED_Off(Led_TypeDef Led);
void BSP_LED_Toggle(Led_TypeDef Led);
KEYState_TypeDef BSP_KEY_GetState(void);
  1. 在gpio.c中声明两个数组
GPIO_TypeDef* GPIO_PORT[] = {LED0_GPIO_Port,
                             LED1_GPIO_Port,
                             LED2_GPIO_Port};

const uint1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值