stm32之按鍵實驗

2021-08-11 02:42:33 字數 798 閱讀 6724

前言:這個實驗比較簡單,就是對io口的配置。

up鍵用來開啟led燈,down鍵用於關閉led燈,left鍵用於開啟蜂鳴器,right用於關閉蜂鳴器。

1.初始化用到的io口

void key_init()

注意:這裡按鍵的io口為輸入功能,所以模式為輸入模式。另外上啦和下拉根據電路圖而定。還有,因為為輸入模式,所以之前有乙個輸出模式選擇(推挽輸出)就沒有了。

2.按鍵的檢測

void key_scan()

}if(gpio_readinputdatabit(gpioe,gpio_pin_3)==0)

}if(gpio_readinputdatabit(gpioe,gpio_pin_4)==0)

//open beep

}if(gpio_readinputdatabit(gpioe,gpio_pin_2)==0)

//close beep

}}

說明:在這裡的程式我沒有按照教程裡的程式裡來寫,而是根據自己的理解方式來寫的。我這裡將按鍵的檢測和相應的操作寫在了一起。如果你覺得麻煩,你也可以另寫乙個操作函式。

注意:這裡的消抖程式一定要記住

主函式:

int main()

}

補充:這個實驗的原理是不斷去檢測按鍵的狀態,而如果用中斷就會很方便,讓系統自己去檢測按鍵的狀態

STM32按鍵實驗

用systick做時間20ms的判斷,用狀態機概念的按鍵掃瞄三狀態去除抖動,狀態0 有按鍵按下,狀態1 有按鍵按下,判斷具體按鍵,狀態3 判斷按鍵抬起,沒20ms進行狀態的判斷。流程圖 systick程式 不包括初始化程式,初始化程式在delay.c中 systick load 20 fac ms ...

stm32 工業按鍵檢測 STM32按鍵的檢測

stm32的按鍵檢測相對比較簡單,首先按部就班的初始化連線的到的i o,然後寫乙個按鍵掃瞄函式,這個和51微控制器的差不多。以下是乙個比較典型的例子 利用按鍵控制led key.件 ifndef key h define key h include sys.h definekey0 gpio rea...

stm32學習筆記(二)按鍵實驗

本程式只供學習使用,未經作者許可,不得用於其它任何用途 alientek mini stm32開發板 按鍵輸入 驅動 正點原子 alientek 技術論壇 www.openedv.com 修改日期 2014 3 06 版本 v1.0 按鍵初始化函式 pa15和pc5 設定成輸入 void key i...