stm32按键学习

WK_UP接VCC3.3,是高电平,当WK_UP==1的时候处于开启状态
KEY0和KEY1都接在GND上面,是处在低电平,当KEY0 和 KEY1=0时处于开启状态。
WK_UP接PA0;KEY0接PC5;KEY1接PA15。
mode:0,不支持连续按;1,支持连续按;
key_up=0是按下去;key_up=1是弹出来

按键程序主要有以下几部分。

1、key.h文件,主要包括include:xxxxxx.h以及  按键GPIO端口的命名。

2、key.c文件,主要包括,key_init。设置按键的GPIO,速率,输入模式等。pin的初始状态需要设置。以及按键的响应函数,扫描、去抖等。

3、led.h文件,主要包括includexxxxx,以及.c文件中的函数命名。

4、led.c文件,主要包括GPIO初始化,各种灯闪方式的函数具体。

5、main

具体为:

1、建立led和key的.c文件和.h文件。led.h文件头文件如下:

key.h文件头文件如下:

2、写出"led.c"的程序:
引用"led.h"的头文件
写出灯程序
{
定义结构体
使能GPIOA、GPIOD的时钟函数
写出GPIOA、GPIOD分别的内置程序:
GPIO_InitStructure的三个方面:Pin、Mode、Speed,并配置三个方面的格式,根据设定参数初始化
再写出那个端口的输出高即灯灭
}

3、写出"key.h"的程序:
调用key.h的头文件
再调用delay.h的头文件
写出按键程序
{
定义结构体
使能GPIOA、GPIOC的时钟函数
关闭jtag,使能SWD,可以用SWD模式调试
写出KEY0、KEY1、WK_UP分别的内置程序:
GPIO_InitStructure的两个方面:Pin、Mode,并配置两个方面的格式,根据设定参数初始化
再处理按键函数
{
按键松开标志(注意静态工作变量)
选择是否连按
选择if(key_up&&(KEY00||KEY10||WK_UP1))或者   (KEY01&&KEY11&&WK_UP0)
}
}
4、写出主的程序:
引用"led.h"、“delay.h”、“sys.h”、"key.h"的头文件
写出主程序
{
初始化延时函数、KEY函数、LED函数
写一个开关函数
设置使用按键控制小灯反装
}

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值