STM32 按键驱动

Posted by LemonWhale on March 20, 2024

查寻方式

  1. 端口设置 读取端口的电平状态,设置为GPIO_INPUT模式 ![[attachment/Pasted image 20240320170605.png]]
  2. 驱动函数
    uint8_t KEY(){
     uint8_t a = 0;
     if(HAL_GPIO_ReadPin(GPIOF,KEY_Pin) == GPIO_PIN_RESET){
         HAL_Delay(20);  //延时消抖
         if(HAL_GPIO_ReadPin(GPIOF,KEY_Pin) == GPIO_PIN_RESET){
         a = 1;
     }
     while(HAL_GPIO_ReadPin(GPIOF,KEY)==GPIO_PIN_RESET);  //等待按键松开
     return a;  //返回按键状态
    }
    

    中断方式