Interruzioni hardware.

attachInterrupt(pin, ISR, mode);
Collega l'interruzione al numero di interruzione pin, assegna la funzione ISR come gestore e imposta la modalità di interruzione su mode:
  • LOW - attivato da un segnale LOW sul pin.
  • RISING - attivato quando il segnale sul pin cambia da LOW ad HIGH.
  • FALLING - attivato quando il segnale sul pin cambia da HIGH a LOW.
  • CHANGE - attivato quando il segnale cambia (da LOW ad HIGH e viceversa).
Non tutti i pin possono avere Interrupt:
MCU/numero di interrupt                       INT 0     INT 1     INT 2     INT 3     INT 4     INT 5
ATmega 328/168 (Nano, UNO, Mini)     D2          D3          -              -              -              -
ATmega 32U4 (Leonardo, Micro)           D3          D2          D0           D1          D7          -
ATmega 2560 (Mega)                               D2          D3          D21         D20        D19       D18

digitalPinToInterrupt(pin);
In base alla scheda selezionata in ArduinoIDE, restituisce il numero di interrupt in base al numero di pin, quindi puoi dichiarare interrupt come questo: attachInterrupt(digitalPinToInterrupt(pin), ISR, mode).
detachInterrupt(pin); 
Disabilita l'interruzione sul pin.
interrupts() 
Abilita tutti gli interrupt (funzione macro su sei()).
noInterrupts()
Disabilita tutti gli interrupt (funzione macro su cli()).
Collegare l'interruzione leggi di più qui.
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia