微控制器入門學習七 STM32微控制器學習四 按鍵輸入

2021-08-14 14:05:39 字數 1289 閱讀 2639

按鍵輸入使用gpio的讀取資料功能,用到的庫函式是gpio_readinputdatabit(),使用的暫存器是gpiox_idr。

使用的板子的按鍵原理圖如下:

從原理圖可看出wk_up是高電平有效、key0、key1、key2是低電平有效。

結合stm32原理圖看這四個按鍵分別接到了哪些引腳上

上面兩個圖我們可以看出key2、key1、key0接到了pe2、pe3、pe4上,wk_up接到了pa0上。

按鍵**如下

key.h

#ifndef __key_h

#define __key_h

#define key0_pres 1 //key0按下

#define key1_pres 2 //key1按下

#define key2_pres 3 //key2按下

#define wkup_pres 4 //key_up按下(即wk_up/key_up)

void key_init(void);//io初始化

u8 key_scan(u8); //按鍵掃瞄函式

#endif

key.c

#include "stm32f10x.h"

#include "key.h"

//按鍵初始化函式

void key_init(void) //io初始化

//按鍵處理函式

//返回按鍵值

//mode:0,不支援連續按;1,支援連續按;

//0,沒有任何按鍵按下

//1,key0按下

//2,key1按下

//3,key2按下

//4,key3按下 wk_up

//注意此函式有響應優先順序,key0>key1>key2>key3!!

u8 key_scan(u8 mode)

else

if(key0==1&&key1==1&&key2==1&&wk_up==0)key_up=1;

return

0;// 無按鍵按下

}

微控制器學習(一) 微控制器基礎 STM32

io四種輸入工作模式 io四種輸出工作模 stm32有8個16位定時器 stm32具有強大的異常響應系統,它把能夠打斷當前 執行流程的事件分為異常 exception 和中斷 interrupt 並把它們用乙個表管理起來,編號為 3 6的中斷向量定義為系統異常,編號從7到19的為外部中斷。中斷向量控...

學習筆記之 STM32微控制器

6 mco 2 0 可以提供4源不同的時鐘同步訊號,pa8 7 gpio口貌似有兩個反向串聯的二極體用作鉗位二極體。8 匯流排矩陣採用輪換演算法對系統匯流排和dma進行仲裁 9 icode匯流排,dcode匯流排 系統匯流排 dma匯流排 匯流排矩陣 ahb apb橋 10 在使用乙個外設之前,必須...

STM32微控制器PWM輸出學習

pwm原理 pwm表示脈衝寬度調製,它是一系列脈衝,這些脈衝將以方波的形式出現。也就是說,在任何給定的時間點,波型要麼是高電平或者是低電平。對於pwm訊號我們需要關注兩個與之相關的重要引數,乙個是pwm占空比,另乙個是pwm訊號的頻率。占空比 接通時間 接通時間 斷開時間 也就是說,通過控制從0 到...