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:
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;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.