基于正点原子ministm32板按键输入实验的学习

一.按键输入硬件连接 

KEY0->PE4  上拉输入        KEY1->PE3  上拉输入        KEY2->PE2  上拉输入        WK_UP->PA0  下拉输入

二.GPIO输操作说明

读取IO口输入电平调用库函数:

 读取IO口输入电平操作寄存器:GPIOx_IDR:端口输入寄存器

使用位带操作读取IO口输入电平:

PEin(4) ------------读取GPIOE.4口电平      

PEin(n)------------读取GPIOE.n口电平

三.按键输入实验思路

1.使能按键对应IO口时钟。调用函数:

2.初始化IO模式: 上拉/下拉输入。调用函数:

GPIO_Init();

3.扫描IO口电平(库函数/寄存器/位操作)

四.C语言关键字:static

static申明的局部变量,存储在静态存储区。

它在函数调用结束后,不会被释放。它的值会一直保留下来。

所以可以说static申明的局部变量,具有记忆功能。

五.按键扫描模式

1.按键扫描(支持连续按)的一般思路:

 2.按键扫描(不支持连续按)的一般模式:

3.两种模式结合:

 

 

 六.代码部分

工程部分:

key.c:

 

led.c:

 main.c:

编译无错误,无警告

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值