Interruzioni.

// ====== INTERRUZIONI ======
// Leggi di più qui.
attachInterrupt(pin, ISR, mode);
/*
Collega interrupt al pin del numero di interrupt, assegna la funzione ISR come gestore e imposta la modalità di interruzione su mode:
RISING - attivato quando il segnale cambia da LOW ad HIGH.
FALLING - attivato quando il segnale cambia da HIGH a LOW.
CHANGE - attivato quando il segnale cambia (da LOW ad HIGH e viceversa).
LOW - Attivato costantemente quando viene segnalato LOW (non supportato su ESP8266).
*/
// ====== ESEMPIO ====== 
volatile int counter = 0;    // variabile.
void setup() 
  Serial.begin(9600);          // aprire la porta di comunicazione.
  // collegato il pulsante a D2 e ​​GND.
  pinMode(2, INPUT_PULLUP);
/*
  D2 è interrupt 0.
  Gestore (ISR) - funzione buttonTick.
  FALLING - quando premi il pulsante, ci sarà un segnale 0 e lo prendiamo.
*/ 
  attachInterrupt(0, buttonTick, FALLING);
}
void loop() 
  Serial.println(counter);  // dedurre.
  delay(1000);                      // aspettiamo.
}
void buttonTick() 
  counter++;                         // premere.
}  
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia