stm32学习(二)按键输入实验

这篇博客介绍了STM32的按键输入实验,包括按键的工作原理和电路图。在理论部分,解释了当按键按下时,key0和key1电压变为低电平,wkup_up则变为高电平。接着详细讲述了代码实现,包括初始化键位的步骤,键位初始化函数的定义,以及主函数的运行流程。
摘要由CSDN通过智能技术生成

理论

原理图:
在这里插入图片描述
原理:原key0和key1是高电压,wkup_up是低电压,当分别按下时key0,key1变为低电压,而wkup_up则为高电压

代码

1.初始化键位

//按键初始化函数
void KEY_Init(void) //IO 初始化
{ 
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE,ENABLE); //使能 PORTA,PORTE 时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4;//GPIOE.3~4
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_Init(GPIOE, &GPIO_InitStructure); //初始化 GPIOE3,4
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //初始化 WK_UP-->GPIOA.0
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PA0 设置成输入,下拉 
GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化 GPIOA.0
}

2.键位初始化函数


//返回按键值
//mode:0,不支持连续按;1,支持连续按;
//0,没有任何按键按下
//1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值