Sadržaj:
- Korak 1: Rukovalac prekida
- Korak 2: Postavite periodični vremenski interval
- Korak 3: Prekinite inicijalizaciju
- Korak 4: Gdje dodati svoj kôd
Video: Arduino - periodični prekidi: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
Ovaj Instructable govori o korištenju periodičnog prekida za mjerenje vremena u Arduino programima. Ovo je korak za nadobudnog Arduino programera koji zna da Arduino može učiniti više, ali ne zna kako to učiniti.
Ako postoji problem s performansama, pretpostavljam da koristite jednu ili više funkcija delay (). Trik je u tome da se riješite funkcije delay () i zamijenite prekid. Funkcija delay () prisiljava Arduino da ne radi ništa dok čeka da se delay () završi. Korištenje prekida omogućava vašem programu da radi druge stvari dok čeka kraj kašnjenja. Obično postoji ogromna količina neiskorištenog mrtvog vremena koje bi se moglo koristiti za druge stvari pri korištenju delay (). Korištenje prekida rješava ovaj problem.
Korak 1: Rukovalac prekida
1. Dodajte rukovatelj prekidima u svoj program. Samo kopirajte i zalijepite negdje iznad setup ();
const unsigned long TIMER0_COUNT = 500; // Tajmer interval 500 msec
// TIMER0 rukovalac prekida volatile bool time = false; ISR (TIMER0_COMPA_vect) {statičko nepotpisano dugo računanje = 0; if (++ count> TIMER0_COUNT) {count = 0; vrijeme = istina; // vrijeme je postavljeno na true svakih TIMER0_COUNT ms} // (vrijeme je potrebno očistiti u glavnoj rutini)}
Korak 2: Postavite periodični vremenski interval
2. Podesite vremenski interval. Ovaj rutinski povratak na TIMER0 prekid, koji je postavljen da se aktivira svakih ~ 1 msec.
Vaš "interval" je broj prekida TIMER0 za obradu. Svaki interval je ~ 1 msec, tako da zaista postavljate koliko TIMER0 prekida treba brojati prije aktiviranja vašeg intervala. IOW, postavite varijablu TIMER0_COUNT na onoliko milisekundi koje želite čekati. Na primjer, upotrijebite 500 za pola sekunde. Koristite 3000 za 3 sekunde.
Korak 3: Prekinite inicijalizaciju
3. Dodajte kôd "TIMER0 Initilization" u metodu setup (). Opet, samo kopirajte i zalijepite u setup ().
// *** TIMER0 inicijalizacija ***
cli (); // isključuje sve prekide TIMSK0 = 0; // isključuje timer0 za niže podrhtavanje OCR0A = 0xBB; // proizvoljan broj prekida TIMSK0 | = _BV (OCIE0A); // povratak na prekid sei (); // ponovo uključite prekide
Korak 4: Gdje dodati svoj kôd
4. Dodajte kod "time check" u metodu loop (). Kopirajte i zalijepite u loop ().
if (vrijeme) {
vrijeme = lažno; // učinite nešto ovdje}
"Vrijeme = lažno;" linija je važna. Bez ove linije, redovi (i) uradi nešto ovdje bi se izvršavali svaki put kada program izvrši loop ().
Naravno, zamjenjujete vlastite aktivnosti u retku "uradi nešto ovdje". Počnite sa štampanjem nekog teksta ili trepćanjem LED diode.
Gotov si!
Preporučuje se:
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: 6 koraka
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: Tako da će za ovaj projekt možda biti potrebno malo pozadine. Ljudima sa kućnim ljubimcima vjerovatno se pojavio isti problem kao i meni: godišnji odmori i zaborav. Stalno sam zaboravljao nahraniti svoju ribu i uvijek sam to pokušavao učiniti prije nego što je otišlo u s
Akustična levitacija sa Arduino Uno Korak po korak (8 koraka): 8 koraka
Akustična levitacija s Arduino Uno Korak po korak (8 koraka): ultrazvučni pretvarači zvuka L298N Dc ženski adapter za napajanje s muškim dc pinom Arduino UNOBreadboard Kako to funkcionira: Prvo učitajte kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Mjerač koraka 1. dio: Jednobojni ekran 128x32 i Arduino: 5 koraka
Mjerač koraka 1. dio: Jednobojni ekran 128x32 i Arduino: Ovo je osnovni vodič koji podučava kako koristiti OLED ekran sa svojim Arduinom. Koristim ekran veličine 128x32, ali možete koristiti i drugačiju rezoluciju i promijeniti rezoluciju/koordinate prema potrebi. U ovom dijelu ću vam pokazati kako
Najjeftiniji Arduino -- Najmanji Arduino -- Arduino Pro Mini -- Programiranje -- Arduino Neno: 6 koraka (sa slikama)
Najjeftiniji Arduino || Najmanji Arduino || Arduino Pro Mini || Programiranje || Arduino Neno: …………………………. PRETPLATITE SE na moj YouTube kanal za više video zapisa ……. .Ovaj projekt govori o tome kako spojiti najmanji i najjeftiniji arduino ikada. Najmanji i najjeftiniji arduino je arduino pro mini. Slično je arduinu
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima