【esp32 專案】中斷讀取按鍵

FBshark發表於2024-06-10

原理圖:

【esp32 專案】中斷讀取按鍵

圖 按鍵部分

【esp32 專案】中斷讀取按鍵

圖 微控制器部分

程式:KEY_USR 引腳配置成上拉輸入

在Arduino中,配置一個IO為上拉輸入可以使用pinMode()函式和digitalWrite()函式。pinMode()函式用於設定引腳模式,而digitalWrite()函式用於設定上拉電阻。

以下是一個示例程式碼,展示如何將Arduino的數字引腳3配置為上拉輸入:

void setup() {
  pinMode(3, INPUT_PULLUP); // 設定數字引腳3為上拉輸入模式
}
 
void loop() {
  // 在這裡可以讀取引腳3的狀態,它會保持在高電平,除非有外部下拉
}

另外,設定關聯中斷:

#define KEY_PIN   27
    
void keyPressed(void);

attachInterrupt(KEY_PIN, keyPressed, FALLING);

void keyPressed(void)
{
  if(digitalRead(KEY_PIN) == LOW)
  {
    Serial.println("Key Pressed!");
  }
}

相關文章