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 promjena: 2024-01-30 09:36
Ovaj Instructable govori o korištenju povremenih 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ćuje 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; // Vremenski interval od 500 msec
// TIMER0 rukovatelj prekidima 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. Postavite 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, pa doista postavljate koliko će TIMER0 prekida biti brojeno 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 kod "TIMER0 inicijalizacije" u svoju metodu setup (). Opet, samo kopirajte i zalijepite u setup ().
// *** TIMER0 inicijalizacija ***
cli (); // isključuje sve prekide TIMSK0 = 0; // isključiti timer0 za niže podrhtavanje OCR0A = 0xBB; // proizvoljan broj prekida TIMSK0 | = _BV (OCIE0A); // povratak na prekid sei (); // ponovno uključenje prekida
Korak 4: Gdje dodati svoj kôd
4. Dodajte kod "provjere vremena" u svoju 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) "do something do here" izvršavat će se svaki put kada program izvrši loop ().
Naravno, zamjenjujete vlastite aktivnosti u retku "učini nešto ovdje". Počnite ispisivati neki tekst ili bljeskanjem LED diode.
Gotov si!
Preporučeni:
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: 6 koraka
Arduino Uno hranilica za ribe u 6 jeftinih i lakih koraka !: Stoga će za ovaj projekt možda biti potrebno malo pozadine. Ljudi s kućnim ljubimcima vjerojatno su imali isti problem kao i ja: 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 s 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čitavate kôd na Arduino Uno (to je mikrokontroler opremljen digitalnim i analogni portovi za pretvaranje koda (C ++)
Arduino kontroler za igre DIY - Arduino PS2 kontroler igre - Igranje Tekkena s DIY Arduino gamepadom: 7 koraka
Arduino kontroler za igre DIY | Arduino PS2 kontroler igre | Igranje Tekkena s DIY Arduino gamepad -om: Zdravo dečki, igranje igara uvijek je zabavno, ali igranje sa vlastitim DIY prilagođenim kontrolorom igara je zabavnije. Zato ćemo u ovim uputama napraviti kontroler igre pomoću arduino pro micro
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: 5 koraka
Mjerač koraka 1. dio: Jednobojni zaslon 128x32 i Arduino: Ovo je osnovni vodič koji podučava kako koristiti OLED zaslon sa svojim Arduinom. Koristim zaslon veličine 128x32, ali možete koristiti i zaslon različite rezolucije 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 videa ……. .Ovaj projekt govori o tome kako spojiti najmanji i najjeftiniji arduino ikada. Najmanji i najjeftiniji arduino je arduino pro mini. Slično je arduinu