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,按一次,他們的狀態就翻轉一次。除此...