按鍵實驗 GPIO輸入

2021-07-31 07:07:21 字數 994 閱讀 6400

1、參考資料

《stm32f1開發指南-庫函式版本》-第8章  按鍵輸入實驗

《stm32中文參考手冊v10》-第8章通用和復用功能io(gpio和afio)

2、硬體連線

key_up-pa0   key0-pe4   key1-pe3   key2-pe2

3、gpio輸入操作說明

讀取io口輸入電平呼叫庫函式為:

uint8_t gpio_readinputdatabit(gpio_typedef* gpiox, uint16_t gpio_pin);

讀取io口輸入電平操作暫存器為:

gpiox_idr:埠輸入暫存器

使用位帶操作讀取io口輸入電平:

pein(4)          -讀取gpioe.4口電平

pein(n)          -讀取gpioe.n口電平

4、實驗步驟

使能按鍵對應io口時鐘。呼叫函式:

rcc_apb2periphclockcmd();

初始化io模式:上拉/下拉輸入。呼叫函式:

gpio_init();

掃瞄io口電平(庫函式/暫存器/位操作)。

5、鍵盤掃瞄思路

1)支援連續按

2)不支援連續按

3)用static關鍵字,具有記憶功能

4)延時消抖

按鍵掃瞄(兩種模式合二為一)的一般思路

u8 key_scan(u8 mode)

}else if(key沒有按下)  key_up=1;

return 沒有按下

}6、上拉和下拉輸入

key0 key1 key2硬體連線都是共地的,按鍵按下是低電平,不按應該是高電平,所以設定pe2 pe3 pe4為上拉輸入

key_up接的vcc3.3,按下去是高電平,不按是低電平,所以設定成下拉輸入pa0

按鍵實驗 GPIO的輸入模式

按鍵實驗 gpio的輸入模式 引言 在之前的實驗中,小羅同學使用的都只是gpio的輸出模式,這次的按鍵實驗雖然比較簡單,但也是我第一次接觸gpio的輸入,所以還是想寫點東西記錄一下。按鍵模組電路圖 我手中的開發板除去復位按鍵後還有其餘四個按鍵,電路結構圖如下 以上四個按鍵所對應的管腳編號分別為 pa...

GPIO 輸入 按鍵檢測

這裡要用到一定的模電知識。電容兩端電壓不能突變,電感兩端電流不能突變。這裡利用了電容的放電延時實現硬體消抖。按鍵按下會有抖動,波形有毛刺,使得高低電平顯現不明顯,而按鍵按下時,電容放電一下,馬上又被充電,此時電容兩端的電壓不會突然變化,這個延時時間恰好可以達到消抖作用。這裡需要使用乙個韌體庫函式 b...

5 STM32按鍵輸入實驗 GPIO做輸入

stm32按鍵輸入實驗會把之前的led燈和蜂鳴器的控制加入進來,通過按鍵來進行控制,是乙個綜合性比較高的實驗。最後要實現的目的是 key up 控制蜂鳴器,按一次叫,再按一次停 key1 控制 ds1,按一次亮,再按一次滅 key0 則同時控制 ds0 和 ds1,按一次,他們的狀態就翻轉一次。除此...