蓝桥杯嵌入式——按键运用——分享

蓝桥杯嵌入式比赛用的是CT117E板子,它板载了复位键,K1,K2,K3和K4。按键的使用是比赛必考的,涉及到短按键和长按键,这里就分享一下我学到的关于的按键代码。

一、按键初始化
查看原理图可知,K1,K2,K3和K4分别连接到PA0,PA8,PB1和PB2管脚。且当按键按下时,对应的GPIO读取到低电平。按键初始化代码如下:
在这里插入图片描述

二、按键读取及消抖
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200216192542293.png
IDR是端口输入数据寄存器,(GPIOA->IDR&GPIO_Pin_0)是读取PA0口的输入电平,相当于库函数GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)。

下面分享一下***三行代码***
在这里插入图片描述
解释看下面注释哦(⊙o⊙)
在这里插入图片描述
可在定时器中断处理函数中每10ms调用一次 Key_Read()函数,避免用Delay()延时函数造成CPU资源的浪费。注意在Key_Read()函数中KETYINPUT要加括号!!
三行代码的缺点是不易理解,优点是很简洁,只有三行,很容易就记住了。
这是第一次写博客,希望我写的东西能够帮助到有需要的人,希望多多支持。

发布了1 篇原创文章 · 获赞 5 · 访问量 57

猜你喜欢

转载自blog.csdn.net/weixin_45849079/article/details/104346565