STM32CubeMX之外部中斷檢測按鍵
TTP224是一款使用電容式感應原理設計的觸摸IC,其穩定的感應方式可以應用到各種不同電子類産品,面闆媒體可以是完全絕源的材料,專為取代傳統的機械結構開關或普通按鍵而設計.提供4個觸摸輸入端口及4個直接輸出端口。
硬體設計
軟體設計
根據STM32中文參考手冊外部中斷章節介紹,邊沿檢測可選擇上升沿、下降沿、雙邊沿(上升沿和下降沿)
按鍵檢測這裡采用雙邊沿觸發,即可完成按鍵按下與松開的狀态檢測
外部中斷使能:
生成代碼
摸按鍵模式配置代碼
中斷服務函數
外部中斷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 */
}
主函數:多個按鍵同時檢測
示例效果:
參考例程:https://download.csdn.net/download/weixin_44453694/19362281