1、概述
-STM32f030r8开发板有四个按键:按键1、按键2、复位键、唤醒键
-STM32f030r8的按键1由PF6复用,按键2由PF7复用
-按键按下相应管教产生低电平
2、准备工作
建议准备F0的参考手册和数据手册,方便查阅相关知识,没有的请到ST官网或到我的CSDN下载。
没看过我之前的LED文档中的GPIO寄存器详细介绍的建议先看完,再来看该文档。
3、寄存器说明
按键寄存器主要是GPIO的寄存器配置,主要使用到:
-GPIO端口模式寄存器 (GPIOx_MODER) (x = A..D,F)
-GPIO端口输出类型寄存器 (GPIOx_OTYPER) (x = A..D,F)
-GPIO口输出速度寄存器 (GPIOx_OSPEEDR) (x = A..D,F)
-GPIO 口上拉/下拉寄存器 (GPIOx_PUPDR) (x = A..D,F)
这几个相应的寄存器说明请看上节文档>,这里不再做具体介绍。
4、按键配置
① key原理图


(1)KEY初始化函数

(2)KEY按键轮询函数

判断是否支持连按(mode = 1 支持连按,否则不支持)->判断按键是否被按下->延时10ms->再次检测按键是否被按下(这几步主要是为了防止按键意外被按下或者按键电路短路)->如果按下,返回按键值。