Cuprins:
- Pasul 1: Manipularea întreruperii
- Pasul 2: Setați intervalul de timp periodic
- Pasul 3: inițializarea întreruperii
- Pasul 4: Unde să adăugați codul
Video: Arduino - întrerupere periodică: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
Acest instructabil este despre utilizarea unei întreruperi periodice pentru sincronizarea în programele Arduino. Acesta este un pas pentru un programator Arduino în devenire, care știe că Arduino poate face mai mult, dar nu știe cum să facă acest lucru.
Dacă există o problemă de performanță, presupun că utilizați una sau mai multe funcții delay (). Trucul este să scapi de funcția (funcțiile) delay () și să înlocuiești o întrerupere. Funcția delay () îl forțează pe Arduino să nu facă nimic în timp ce așteaptă finalizarea delay (). Utilizarea unei întreruperi permite programului dvs. să facă alte lucruri în așteptarea sfârșitului întârzierii. De obicei, există o cantitate imensă de timp mort neutilizat care ar putea fi folosit pentru alte lucruri atunci când se utilizează delay (). Utilizarea unei întreruperi rezolvă această problemă.
Pasul 1: Manipularea întreruperii
1. Adăugați programul de gestionare a întreruperilor. Doar copiați și lipiți undeva deasupra setării ();
const unsigned long TIMER0_COUNT = 500; // Interval temporizator 500 msec
// TIMER0 manipulare întreruperi volatile bool time = false; ISR (TIMER0_COMPA_vect) {număr nesemnificat static lung = 0; if (++ count> TIMER0_COUNT) {count = 0; timp = adevărat; // timpul este setat la adevărat la fiecare TIMER0_COUNT ms} // (timpul trebuie eliminat în rutina principală)}
Pasul 2: Setați intervalul de timp periodic
2. Setați intervalul de timp. Această rutină piggyback se întoarce pe întreruperea TIMER0, care este setată să declanșeze la fiecare ~ 1 msec.
„Intervalul” dvs. este numărul de întreruperi TIMER0 pentru procesare. Fiecare interval este de ~ 1 msec, deci stabiliți cu adevărat câte întreruperi TIMER0 trebuie calculate înainte de a vă activa intervalul. IOW, setați variabila TIMER0_COUNT la oricât de multe milisecunde doriți să așteptați. De exemplu, utilizați 500 pentru o jumătate de secundă. Folosiți 3000 timp de 3 secunde.
Pasul 3: inițializarea întreruperii
3. Adăugați codul „TIMER0 initialization” la metoda dvs. setup (). Din nou, doar copiați și inserați în setup ().
// *** inițializare TIMER0 ***
cli (); // opriți toate întreruperile TIMSK0 = 0; // opriți timer0 pentru jitter inferior OCR0A = 0xBB; // număr de întreruperi arbitrare TIMSK0 | = _BV (OCIE0A); // piggy back on interrupt sei (); // activează întreruperile din nou
Pasul 4: Unde să adăugați codul
4. Adăugați codul de „verificare a timpului” la metoda loop (). Copiați și lipiți în buclă ().
dacă (timp) {
timp = fals; // face ceva aici}
„Timpul = fals;” linia este importantă. Fără această linie, liniile „faceți ceva aici” ar fi executate de fiecare dată când programul execută loop ().
Desigur, vă înlocuiți propriile activități în linia „faceți ceva aici”. Începeți cu tipărirea unui text sau cu aprinderea LED-ului.
Ați terminat!
Recomandat:
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Arduino Halloween Edition - Ecran pop-out Zombies (Pași cu imagini): 6 pași
Ediția Arduino Halloween - Ecran pop-out Zombies (Pași cu imagini): Vrei să-ți sperii prietenii și să faci niște zgomote în Halloween? Sau vrei doar să faci niște farse bune? Acest ecran pop-out Zombies poate face asta! În acest instructabil vă voi învăța cum să creați cu ușurință zombi cu ajutorul Arduino. HC-SR0
Alimentator de pește Arduino Uno în 6 pași ieftini și simpli !: 6 pași
Alimentator de pește Arduino Uno în 6 pași ieftini și simpli! Oamenilor cu pești de companie li s-a prezentat probabil aceeași problemă ca mine: vacanțele și uitarea. Am uitat în permanență să-mi hrănesc peștele și m-am străduit mereu să fac asta înainte să ajungă la s
Levitație acustică cu Arduino Uno pas cu pas (8 pași): 8 pași
Levitație acustică cu Arduino Uno pas cu pas (8 pași): traductoare de sunet cu ultrasunete L298N Sursa de alimentare pentru adaptor femelă DC cu pin DC masculin Arduino UNOBreadboard Cum funcționează: Mai întâi, încărcați codul pe Arduino Uno (este un microcontroler echipat cu sistem digital și porturi analogice pentru a converti codul (C ++)
Sistem de alarmă de incendiu care utilizează Arduino [în câțiva pași simpli]: 3 pași
Sistem de alarmă la incendiu care utilizează Arduino [în câțiva pași simpli]: Căutați să faceți un proiect simplu și interesant cu Arduino care, în același timp, ar putea fi cu adevărat util și potențial salvator de vieți? Dacă da, ați venit la locul potrivit pentru a învăța ceva nou și inovator. În această postare suntem plecați