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

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

一、按键初始化
查看原理图可知,K1,K2,K3和K4分别连接到PA0,PA8,PB1和PB2管脚。且当按键按下时,对应的GPIO读取到低电平。按键初始化代码如下:
蓝桥杯嵌入式——按键运用——分享_第1张图片

二、按键读取及消抖
蓝桥杯嵌入式——按键运用——分享_第2张图片
IDR是端口输入数据寄存器,(GPIOA->IDR&GPIO_Pin_0)是读取PA0口的输入电平,相当于库函数GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)。

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

你可能感兴趣的:(蓝桥杯嵌入式——按键运用——分享)