Avbryter i Arduino

Avbryter i Arduino
I Arduino-programmering for å unngå et innbrudd brukes strømmen av kodeavbrudd. Disse avbruddene består av spesielle instruksjoner for den respektive hindringen forårsaket i koden arbeid. Tilsvarende kan avbryter også brukes til å overvåke enhver annen oppgave på et bestemt tidspunkt. Denne diskursen forklarer kort avbryter brukt i Arduino

Hva er avbryter

For å forstå avbruddsbegrepet kan vi ta et scenario med en bilulykke. Anta at bilen beveger seg nedover motorveien og bilelektronikken overvåkes kontinuerlig av mikrokontrolleren som å måle hastigheten på bilen og temperaturen på hytta og sånt. Plutselig treffer bilen noe, så stopper bildatamaskinen alt og utfører åpningen av luftposer. Så her i dette eksemplet er ulykken en avbrudd og åpning av kollisjonsputen er instruksjonen som er gitt hvis dette avbruddet oppstår. Så etter å ha åpnet kollisjonsputene, vil datamaskinen fortsette å utføre sine rutinemessige funksjoner.

Avbryter i Arduino

I Arduino -programmering for å håndtere avbruddet brukes en funksjon som kalles avbruddstjenesteutine. Denne funksjonen kalles når avbruddet utløses, da denne funksjonen bærer instruksjonen for å utføre når noe avbrudd utløses. Avbrudd kan være programvarebasert eller maskinvarebasert, for det meste avbrudd i Arduino er maskinvarebasert.

Maskinvare avbryter: Når et innbrudd er forårsaket i strømmen av et Arduino-program av noen av inngangsenhetene som er koblet til Arduno, kalles maskinvareavbruddet.

Programvare avbryter: Når strømmen av Arduino -programmet blir forstyrret på grunn av datamaskinen eller noe programvare, kalles slike typer avbrytelser programvareavbrudd.

For maskinvarebaserte avbrudd brukes to pinner for Arduino Uno-brettet, det vil si PIN-nummer 2 og 3, og disse pinnene varierer for hvert brett.

Funksjonen som brukes til å erklære avbruddet er vedlegg () vedlegg () funksjon. Denne funksjonen har tre argumenter: Først er avbruddspinnen, det andre er avbruddstjenestrutinen (ISR) og den siste er staten som avbruddet vil oppstå. Tilsvarende å erklære avbruddspinnen for Arduino DigitalPintointerrupt () funksjon brukes. Syntaksen for vedleggsfunksjonen er gitt som:

vedleggInterrupt (DigitalPinTointerrupt (PIN), ISR, MODE);

Det er fem modus som brukes til å definere avbruddstilstanden som er som følger:

  • Når staten endres til lav fra høy, modus som avbruddet vil utløses vil være LAV.
  • Hvis tappen endrer tilstanden til høy fra lav, så vil avbrytelsesmodus være HØY.
  • Når avbruddet skal utløses når det er en endring i tilstanden til pinnen, enten høy eller lav modus ENDRING vil bli brukt.
  • Når avbruddet skal utløses når staten går fra lav til høy Stiger modus vil bli gitt.
  • Når avbruddet skal utløses når staten går fra høy til lav Faller modus vil bli gitt for avbrytelsesfunksjonen.

Eksempel

For å gi et klart bilde av avbruddene i Arduino er et eksempel på avbrudd illustrert. I dette eksemplet blir endringen i staten fra høy til lav av LED tatt som en utløser for avbruddet og koden for å utløse et avbrudd er gitt:

const int lEdpin = 12;
const int interruptpin = 2;
boolstat = høy;
void setup ()
PinMode (LEDPIN, tilstand);
pinmode (interruptpin, input_pullup);
vedlegginterrupt (DigitalPinToinToRrupt (Interruptpin), blink, endring);

void loop ()
DigitalWrite (Ledpin, State);

void blink ()
tilstand = !stat;

Kretsdiagram

Konklusjon

Avbruddene i Arduino brukes til å håndtere de forventede innbruddene i strømmen av koden. Avbruddene kan også brukes til å utføre en hvilken som helst høyere prioriteringsoppgave på et bestemt tidspunkt ved å bryte arbeidsstrømmen til Arduino -programmet. Etter at avbruddet er håndtert, vil programmet utføre de normale oppgavene det utførte. I denne oppskrivningen blir det avbrudd og hvordan de brukes i Arduino diskuteres kort.