STM32F4教程 第二節 GPIO之按鍵

2021-10-09 05:17:21 字數 1485 閱讀 5148

you can't judge a tree by its bark.

人不可貌相

按鍵庫函式開發

理解按鍵輸入原理圖

獲取按鍵輸入步驟

gpio-key按鍵實現例程

key.c

main.c

按鍵庫開發要新增庫檔案:stm32f4xx_gpio.c

按鍵s1連線pa0,

當按鍵s1按下時,pa0為低電平

當按鍵s1未按下時,pa0為高電平

1、開啟gpioa組時鐘,也叫做使能a組時鐘(stm32當中外設的時鐘預設不開啟,降低功耗)

//使能gpio a組時鐘

rcc_ahb1periphclockcmd(rcc_ahb1periph_gpioa, enable);

2、設定gpioa0 引腳為模式  上拉

gpio_inittypedef  gpio_initstruct;

gpio_initstruct.gpio_pin = gpio_pin_0; //引腳pa0

gpio_initstruct.gpio_mode = gpio_mode_in; //輸入模式

gpio_initstruct.gpio_pupd = gpio_pupd_up; //上拉

gpio_init(gpioa, &gpio_initstruct);

3、按鍵消抖

//判斷是否按下

if(gpio_readinputdatabit(gpioa, gpio_pin_0) == bit_reset)

}

4、通過函式獲取引腳電平

gpio_readinputdatabit(gpioa, gpio_pin_0);
#include "key.h"

/*引腳說明:

key0(s1) -- pa0

key1(s2) -- pe2

key2(s3) -- pe3

key3(s4) -- pe4

*/void key_init(void)

#include "stm32f4xx.h"

#include "led.h"

#include "key.h"

//粗延時

void delayms(int n)

int main(void)

}} return 0;

}

STM32F4教程 第四節 SysTick之延時

cease to struggle and you cease to live.thomas carlyle 生命不止,奮鬥不息。卡萊爾 systick暫存器 一共4個systick暫存器 systick 控制和狀態暫存器 ctrl systick 重裝載數值暫存器 load systick 當前值...

stm32f4 定時捕獲

概述 1000hz 20 80 占空比現象 1000hz 51 58 占空比現象 關於本文的更多詳情請往下看。筆者針對於初學者提供的例程都是去掉了許多不必要的功能,精簡了官方的 對初學者一看就明白,以簡單明瞭的工程供大家學習。stm32f4 tim輸入波形捕獲 脈衝頻率 占空比 例項 訪問密碼 st...

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...