1. 程式人生 > >stm32中非阻塞式多按鍵狀態檢測函式(2)

stm32中非阻塞式多按鍵狀態檢測函式(2)

關於GPIO的輸出功能之前我們已經有了一定的瞭解  這次通過按鍵輸入對GPIO輸入功能做實際應用

主要內容:     按鍵輸入的硬體連線     讀取IO輸入的相關函式     捕捉按鍵狀態的步驟     按鍵掃描實現思路     按鍵掃描程式程式碼 一,硬體連線        如圖,有4個按鍵,分兩組

 第一組:WK_UP連線VCC  第二組:KEY0,KEY1,KEY2連線GND 1 2 確定IO口工作模式:

 當IO口按下時我們需要捕捉到IO口的電平變化  所以WK_UP按下後為高地平,需設定按下前為低電平,應設定為下拉輸入  同理KEY0,KEY1,KEY2按下後為低電平,應設定為上拉輸入 二,讀取IO輸入的相關函式: 1,庫函式      uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

2,暫存器      GPIO埠輸入暫存器:GPIOx_IDR

3,位操作      PEin(n)  讀取GPIOE.n的輸入電平 三,步驟:  1,使能相應的GPIO時鐘       RCC_APB2PeriphColckCmd();

 2,初始化IO口工作模式       GPIO_Init();       參考GPIO初始化

 3,掃描IO口電平 四,按鍵掃描思路:  1,讀取按鍵對應IO口的輸入電平  2,比較輸入電平確定按鍵是否被按下  注意:按鍵被按下和擡起的一瞬間會有按鍵抖動需延時一段時間避免判斷錯誤