Tartalomjegyzék:
- 1. lépés: A kezelő megszakítása
- 2. lépés: Állítsa be az időszakos időintervallumot
- 3. lépés: Az inicializálás megszakítása
- 4. lépés: Hová kell hozzáadni a kódot
Videó: Arduino - időszakos megszakítás: 4 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
Ez az utasítás az időszakos megszakítás használatáról szól az Arduino programok időzítéséhez. Ez egy lépés egy kezdő Arduino programozó számára, aki tudja, hogy az Arduino többre képes, de nem egészen tudja, hogyan tegye ezt meg.
Ha teljesítményprobléma merül fel, feltételezem, hogy egy vagy több delay () függvényt használ. A trükk az, hogy megszabaduljon a delay () függvény (ek) től, és helyettesítse a megszakítást. A delay () függvény arra kényszeríti az Arduino -t, hogy ne tegyen semmit, amíg várja a delay () befejeződését. A megszakítás használata lehetővé teszi a program számára, hogy a késleltetés végére várva mást tegyen. Általában hatalmas mennyiségű fel nem használt holtidő áll rendelkezésre, amelyet más célokra is fel lehet használni a késleltetés () használatakor. A megszakítás használata megoldja ezt a problémát.
1. lépés: A kezelő megszakítása
1. Adja hozzá a megszakításkezelőt a programjához. Csak másolja és illessze be valahova a setup () fölé;
const unsigned long TIMER0_COUNT = 500; // 500 ms időzítő intervallum
// TIMER0 megszakításkezelő illékony bool time = false; ISR (TIMER0_COMPA_vect) {static unsigned long count = 0; if (++ count> TIMER0_COUNT) {count = 0; idő = igaz; // az idő minden TIMER0_COUNT ms -os értékre van állítva} // (az időt a fő rutinban kell törölni)}
2. lépés: Állítsa be az időszakos időintervallumot
2. Állítsa be az időintervallumot. Ez a rutin malackodik a TIMER0 megszakításhoz, amely ~ 1 ms -onként tűzre van állítva.
Az "intervallum" a feldolgozandó TIMER0 megszakítások száma. Minden intervallum ~ 1 ms, tehát valóban beállítja, hogy hány TIMER0 megszakítást számítson az intervallum aktiválása előtt. IOW, állítsa be a TIMER0_COUNT változót, hogy hány milliszekundumig várjon. Például használjon 500 -at egy másodperc felére. Használjon 3000 -et 3 másodpercig.
3. lépés: Az inicializálás megszakítása
3. Adja hozzá a "TIMER0 inicializálás" kódot a setup () módszerhez. Ismét csak másolja és illessze be a setup () -ba.
// *** TIMER0 inicializálása ***
cli (); // minden megszakítás kikapcsolása TIMSK0 = 0; // kikapcsolja az időzítőt0 alacsonyabb rezgés esetén OCR0A = 0xBB; // tetszőleges megszakítások száma TIMSK0 | = _BV (OCIE0A); // malacka vissza a megszakításra sei (); // a turn megszakítja a bekapcsolást
4. lépés: Hová kell hozzáadni a kódot
4. Adja hozzá az "időellenőrzés" kódot a loop () metódusához. Másolja és illessze be a hurokba ().
ha (idő) {
idő = hamis; // csinálj itt valamit}
Az "idő = hamis;" vonal fontos. E sor nélkül a "csinálj valamit itt" sor (ok) minden alkalommal végrehajtásra kerülnek, amikor a program végrehajtja a ciklust ().
Természetesen a "tegyél valamit itt" sorban helyettesítheted saját tevékenységeidet. Kezdje a szöveg nyomtatásával vagy a LED villogásával.
Végeztél!
Ajánlott:
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
A legolcsóbb Arduino -- A legkisebb Arduino -- Arduino Pro Mini -- Programozás -- Arduino Neno: 6 lépés (képekkel)
A legolcsóbb Arduino || A legkisebb Arduino || Arduino Pro Mini || Programozás || Arduino Neno: …………………………. További videókért Iratkozz fel YouTube -csatornámra ……. .Ez a projekt arról szól, hogyan lehet a legkisebb és legolcsóbb arduino -t kezelni. A legkisebb és legolcsóbb arduino az arduino pro mini. Hasonló az arduino -hoz
USA Arduino megszakítás LED fényereje: 6 lépés
USA Arduino megszakítás LED fényerő: Ebben a projektben egy piros, fehér és kék LED kijelzőt fogunk létrehozni potenciométerrel és nyomógombbal. Egyszerűen hangzik, de ehhez megszakításokat is használunk. Tehát amikor megnyomja a nyomógombot, a potenciométer értéke beállítja