天天看點

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

STM32CubeMX之外部中斷檢測按鍵

  TTP224是一款使用電容式感應原理設計的觸摸IC,其穩定的感應方式可以應用到各種不同電子類産品,面闆媒體可以是完全絕源的材料,專為取代傳統的機械結構開關或普通按鍵而設計.提供4個觸摸輸入端口及4個直接輸出端口。

 硬體設計

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

 軟體設計

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  根據STM32中文參考手冊外部中斷章節介紹,邊沿檢測可選擇上升沿、下降沿、雙邊沿(上升沿和下降沿)

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  按鍵檢測這裡采用雙邊沿觸發,即可完成按鍵按下與松開的狀态檢測

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  外部中斷使能:

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

 生成代碼

  摸按鍵模式配置代碼

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  中斷服務函數

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵
STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  外部中斷4中斷服務函數示例代碼,外部中斷5~9服務函數代碼與此相同。

void EXTI4_IRQHandler(void)
{
  /* USER CODE BEGIN EXTI4_IRQn 0 */
   Delay_Ms(10);//消抖
  if(HAL_GPIO_ReadPin(TO0_GPIO_Port,TO0_Pin))//判斷按鍵1是否按下
  {
    ttp224_stat|=1<<0;
  }
  else//判斷按鍵是否松開
  {
    ttp224_stat&=~(1<<0); 
  }
  /* USER CODE END EXTI4_IRQn 0 */
  HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_4);
  /* USER CODE BEGIN EXTI4_IRQn 1 */
  
  /* USER CODE END EXTI4_IRQn 1 */
}
           

  主函數:多個按鍵同時檢測

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

  示例效果:

STM32CubeMX之外部中斷檢測按鍵STM32CubeMX之外部中斷檢測按鍵

參考例程:https://download.csdn.net/download/weixin_44453694/19362281

繼續閱讀