微控制器基礎 使用GPIO掃瞄檢測按鍵

2022-07-04 20:15:07 字數 1839 閱讀 9450

開發板

首先需要準備乙個小熊派iot開發板,並通過usb線與電腦連線。

開啟stm32cubemx,開啟mcu選擇器:

搜尋並選中晶元stm32l431rct6:

這裡我都使用外部時鐘:

檢視小熊派開發板的原理圖,如下:

所以接下來我們選擇配置pc13引腳:

設定使用者標籤為led:

檢視原理圖,確定控制按鍵引腳,這裡我們的f1按鍵接的是pb2,f2按鍵接的是pb3。

所以接下來我們選擇配置pb2引腳和pb3引腳:

因為沒有設定硬體上拉,所以我們配置開啟上拉電阻,並設定使用者標籤為key1key2

stm32l4的最高主頻到80m,所以配置pll,最後使hclk = 80mhz即可:

最後設定生成獨立的初始化檔案:

點選generate code即可生成mdk-v5工程:

開啟mdk工程,在main.c中的main函式中編寫簡單的使用者**,這裡的**意思為:一直迴圈讀取按鍵引腳的電平,當讀取到f1按鍵引腳為低電平時,led燈引腳輸出高電平;當讀取到f2按鍵引腳為低電平時,led燈引腳輸出低電平,所以當按下key1,led點亮,按下key2,led熄滅。

1

int main(void)2

17if(0 ==hal_gpio_readpin(key2_gpio_port, key2_pin))

1821}22

/*user code end 3

*/23 }

點選如圖所示的按鈕編譯工程

編譯成功

點選如圖所示按鈕開啟設定頁面

在「flash download」選單下勾選「reset and run」選項,已達到燒錄程式後微控制器自動復位並執行程式的目的。

點選"load"按鈕即可燒錄**到微控制器中。

燒錄成功

至此,我們已經學會了如何使用stm32cubemx快速生成mdk的工程,以及如何使用 stm32cubemx初始化gpio進行按鍵檢測,下一節講述如何配置nvic使用外部中斷檢測按鍵。

微控制器 按鍵掃瞄

按鍵掃瞄,我想應該是比較簡單的微控制器應用了,但是有時候看起來簡單的東西反而不好寫。本文拿大部分人覺得簡單的按鍵掃瞄聊聊我工作至今對於軟體結構的理解。嗯,對的,是結構,不是架構,暫時不敢提架構這個詞。下面說說我個人對於乙個按鍵檢測的 理解。按鍵檢測需要做什麼事情呢?乙個是按鍵按下的這個物理事件的檢測...

msp430微控制器GPIO基礎理解

微控制器的埠可以通過方向暫存器pxdir來設定輸出 1 還是輸入 0 可以通過輸入暫存器pxin來檢視輸入埠引腳的電平,嘗用來判斷按鍵是否按下。也可通過pxie,pxies,pxifg實現按鍵中斷,按下某鍵後執行一段中斷程式。可通過輸出暫存器pxout來寫入輸出,常用來控制數碼管顯示和指示燈等輸出裝...

51微控制器 鍵盤掃瞄

p3口接16個按鍵 include define uint unsigned int define uchar unsigned char sbit dula p2 6 sbit wela p2 7 sbit key1 p3 4 uchar code table uchar num,temp,num...