Interruzioni in Arduino

Interruzioni in Arduino
Nella programmazione di Arduino per evitare una rottura del flusso degli interrupt del codice. Questi interrupt consistono in istruzioni speciali per i rispettivi ostacoli causati dal funzionamento del codice. Allo stesso modo gli interrupt possono anche essere utilizzati per monitorare qualsiasi altra attività in un momento specifico. Questo discorso spiega brevemente gli interrupt usati in Arduino

Cosa sono interrupt

Per capire il concetto di interruzioni possiamo prendere uno scenario di un incidente d'auto. Supponiamo che l'auto si stia muovendo lungo l'autostrada e che l'elettronica dell'auto sia continuamente monitorata dal microcontrollore come misurare la velocità dell'auto e la temperatura della cabina e cose del genere. Improvvisamente l'auto colpisce qualcosa, poi il computer dell'auto ferma tutto ed esegue l'apertura di airbag. Quindi, qui in questo esempio l'incidente è un interrupt e l'apertura dell'airbag è l'istruzione fornita se si verifica questo interrupt. Quindi, dopo aver aperto gli airbag, il computer continuerà a svolgere le sue funzioni di routine.

Interruzioni in Arduino

Nella programmazione Arduino per gestire l'interruzione viene utilizzata una funzione chiamata routine di servizio di interruzione. Questa funzione viene chiamata quando viene attivato l'interrupt poiché questa funzione porta l'istruzione da eseguire quando viene attivato qualsiasi interrupt. Gli interrupt possono essere basati su software o basati su hardware, per lo più interrupt in Arduino sono basati su hardware.

Hardware Interrupts: Quando un irruzione viene causato nel flusso di un programma Arduino da uno qualsiasi dei dispositivi di input interfacciati con Arduno, viene chiamato interrupt hardware.

Il software interrompe: Quando il flusso del programma Arduino viene interrotto a causa del computer o di alcuni software, tali tipi di interruzioni sono chiamati interrupt software.

Per gli hardware interruzioni due pin per la scheda Arduino UNO viene utilizzata, cioè il pin numero 2 e 3 e questi pin variano per ciascuna scheda.

La funzione utilizzata per dichiarare l'interrupt è il AttachInterrupt () funzione. Questa funzione ha tre argomenti: il primo è il pin di interruzione, il secondo è la routine di servizio di interruzione (ISR) e l'ultimo è lo stato su cui si verificherà l'interrupt. Allo stesso modo, per dichiarare il perno di interruzione per l'Arduino DigitalPoInteRrupt () viene utilizzata la funzione. La sintassi per la funzione AttachInterpt è indicata come:

AttachInterrupt (DigitalpInTerrupt (pin), ISR, modalità);

Esistono cinque modalità che vengono utilizzate per definire lo stato di interrupt che sono i seguenti:

  • Quando lo stato cambia a basso dall'alta la modalità su cui sarà attivato l'interrupt BASSO.
  • Se il pin cambia lo stato al massimo dal basso, in modo che la modalità di interruzione sia ALTO.
  • Quando l'interrupt deve essere attivato quando si verifica una modifica dello stato del pin in alto o basso la modalità MODIFICA sarà usato.
  • Quando l'interrupt deve essere attivato quando lo stato va da basso a alto IN AUMENTO verrà fornita la modalità.
  • Quando l'interrupt deve essere attivato quando lo stato passa da alto a basso CADENTE La modalità verrà fornita per la funzione di interrupt.

Esempio

Per dare un quadro chiaro degli interrupt in Arduino è illustrato un esempio di interrupt. In questo esempio, la modifica dello stato da alto a basso del LED viene presa come trigger per l'interrupt e viene dato il codice di attivazione di un interrupt:

const int ledpin = 12;
const int interrupPin = 2;
Bool State = High;
void setup ()
PinMode (LedPin, Stato);
pinMode (interruppin, input_pullup);
AttachInterrupt (DigitalpInTerrupt (interruptpin), battito, modifica);

void loop ()
DigitalWrite (LedPin, Stato);

void blink ()
stato = !stato;

Schema elettrico

Conclusione

Gli interrupt in Arduino vengono utilizzati per gestire le rotture previste nel flusso del codice. Gli interrupt possono anche essere utilizzati per eseguire qualsiasi compito prioritario più elevato in un momento specifico rompendo il flusso di lavoro del programma Arduino. Dopo che l'interrupt viene gestito, il programma eseguirà le normali compiti che stava eseguendo. In questo articolo ciò che sono interrupt e come vengono utilizzati in Arduino sono discussi brevemente.