STM32F103入門 10 按鍵實驗(上)

2021-10-04 02:46:51 字數 1660 閱讀 7877

之前的點亮小燈實驗用到了gpio的輸出模式,但是對於輸入模式沒有用到,這次小r給小夥伴們介紹gpio的其中一種輸入模式——上拉輸入。按鍵出現在很多的應用場景,按鍵處理更是一門學問。因此,小r給小夥伴們介紹gpio的上拉輸入模式並簡單應用於按鍵實驗中,通過判斷按鍵的狀態來控制led燈的亮滅情況。

首先,需要了解的是:當io做輸入使用時,通過呼叫函式gpio_readinputdatabit()來讀取io口的電平狀態。其次,按鍵是需要消抖滴。最後,既然是按鍵實驗,就會有按鍵電路。按鍵電路如下:

電路很簡單,將按鍵接在i/o和gnd兩端,

i/o配置時設定成內部的上拉輸入,

這樣按下按鍵接通gnd,輸入低電平;

也可以將按鍵接在i/o和vcc兩端,

i/o配置時設定成內部的下拉輸入,

按下按鍵i/o接通vcc,輸入高電平。

#設計時一般接gnd#

設計思路:採用輪詢方式掃瞄i/o口電平狀態,若按鍵被按下,i/o口為低電平,則led亮,否則led不亮。

1. 新建兩個檔案,key.c 和 key.h

2. 在標頭檔案 key.h 新增下面**:

3. 把 key.c 新增到工程中

4. 在 key.c 中新增以下**:

5. 實現按鍵輪詢控制led燈亮滅

}手機可以左右滑檢視**

stm32f10x_gpio.c中可以找到上述**,實際上就是讀取gpiox_idr暫存器。

STM32F103入門 10 按鍵實驗(上)

之前的點亮小燈實驗用到了gpio的輸出模式,但是對於輸入模式沒有用到,這次小r給小夥伴們介紹gpio的其中一種輸入模式 上拉輸入。按鍵出現在很多的應用場景,按鍵處理更是一門學問。因此,小r給小夥伴們介紹gpio的上拉輸入模式並簡單應用於按鍵實驗中,通過判斷按鍵的狀態來控制led燈的亮滅情況。首先,需...

stm32f103外部中斷

void extix init void 外部中斷0服務程式 void exti9 5 irqhandler void 這是簡單的外部中斷的配置,pc7作為中斷輸入 上面補充io口的初始化 gpio initstructure.gpio mode gpio mode ipu pc6配置為快充指示 1...

STM32F103啟動檔案

目錄 一 概述 二 彙編指令 2.1 equ 2.2 area 2.3 space 2.4 preserve8 2.5 thumb 2.6 export 2.7 dcd 2.8 proc 2.9 ldr 2.10 blx 2.11 bx 2.12 temport 2.13 b 2.14 if,els...