STM32F030_KEY詳細(xì)配置說明
本文詳細(xì)說明STM32f030_KEY的配置,GPIO相關(guān)寄存器的配置和功能的說明在上一節(jié)STM32F030_LED的文檔已經(jīng)說明。
1、概述-STM32f030r8開發(fā)板有四個(gè)按鍵:按鍵1、按鍵2、復(fù)位鍵、喚醒鍵-STM32f030r8的按鍵1由PF6復(fù)用,按鍵2由PF7復(fù)用-按鍵按下相應(yīng)管教產(chǎn)生低電平2、準(zhǔn)備工作
建議準(zhǔn)備F0的參考手冊(cè)和數(shù)據(jù)手冊(cè),方便查閱相關(guān)知識(shí),沒有的請(qǐng)到ST官網(wǎng)或到我的CSDN下載。沒看過我之前的LED文檔中的GPIO寄存器詳細(xì)介紹的建議先看完,再來看該文檔。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)這幾個(gè)相應(yīng)的寄存器說明請(qǐng)看上節(jié)文檔<4、按鍵配置>,這里不再做具體介紹。
①key原理圖
②代碼描述
(1)KEY初始化函數(shù)
該函數(shù)在key.c文件下,主要是打開KEY 時(shí)鐘,配置PF6 PF7的IO模式
(2)KEY按鍵輪詢函數(shù)
這個(gè)函數(shù)在key.c文件下,該函數(shù)主要設(shè)計(jì)思路是:
判斷是否支持連按(mode = 1 支持連按,否則不支持)->判斷按鍵是否被按下->延時(shí)10ms->再次檢測(cè)按鍵是否被按下(這幾步主要是為了防止按鍵意外被按下或者按鍵電路短路)->如果按下,返回按鍵值