Obsah:
- Krok 1: Obsluha prerušenia
- Krok 2: Nastavte pravidelný časový interval
- Krok 3: Prerušenie inicializácie
- Krok 4: Kam pridať kód
Video: Arduino - pravidelné prerušenie: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Tento návod je o použití pravidelného prerušenia načasovania v programoch Arduino. Toto je krok pre začínajúceho programátora Arduino, ktorý vie, že Arduino dokáže viac, ale nevie, ako to dosiahnuť.
Ak existuje problém s výkonom, predpokladám, že používate jednu alebo viac funkcií delay (). Ide o to, zbaviť sa funkcie (a) delay () a nahradiť prerušenie. Funkcia delay () núti Arduino nič nerobiť, kým čaká na dokončenie oneskorenia (). Použitie prerušenia umožní vášmu programu robiť ďalšie veci, zatiaľ čo čaká na koniec oneskorenia. Pri použití oneskorenia () je zvyčajne obrovské množstvo nevyužitého mŕtveho času, ktorý by bolo možné využiť na iné veci. Tento problém rieši použitie prerušenia.
Krok 1: Obsluha prerušenia
1. Pridajte obslužný program prerušenia do svojho programu. Stačí skopírovať a prilepiť niekde nad setup ();
konšt. nepodpísané dlhé TIMER0_COUNT = 500; // Interval časovača 500 ms
// TIMER0 obsluha prerušenia volatile bool time = false; ISR (TIMER0_COMPA_vect) {static unsigned long count = 0; if (++ count> TIMER0_COUNT) {count = 0; čas = pravda; // čas je nastavený na hodnotu true každých TIMER0_COUNT ms} // (čas je potrebné vymazať v hlavnej rutine)}
Krok 2: Nastavte pravidelný časový interval
2. Nastavte časový interval. Táto rutina sa vracia do prerušenia TIMER0, ktoré sa nastaví tak, aby sa spustilo každých ~ 1 ms.
Váš „interval“je počet prerušení TIMER0, ktoré sa majú spracovať. Každý interval je ~ 1 ms, takže skutočne nastavujete, koľko prerušení TIMER0 sa má počítať pred aktiváciou intervalu. IOW, nastavte premennú TIMER0_COUNT na mnoho milisekúnd, na ktoré chcete čakať. Použite napríklad 500 na jednu polovicu sekundy. Použite 3 000 na 3 sekundy.
Krok 3: Prerušenie inicializácie
3. Pridajte kód „inicializácie TIMER0“do svojej metódy setup (). Opäť stačí skopírovať a prilepiť v programe setup ().
// *** Inicializácia TIMER0 ***
cli (); // vypnúť všetky prerušenia TIMSK0 = 0; // vypnutie timera0 pre nizsie chvenie OCR0A = 0xBB; // počet ľubovoľných prerušení TIMSK0 | = _BV (OCIE0A); // prasiatko späť na prerušenie sei (); // znova zapnite prerušenia
Krok 4: Kam pridať kód
4. Pridajte do metódy loop () kód „kontrola času“. Skopírujte a prilepte do slučky ().
ak (čas) {
čas = nepravda; // urob niečo tu}
„Čas = nepravda;“čiara je dôležitá. Bez tohto riadku by sa riadok (riadky) „niečo tu urobte“vykonal vždy, keď program vykoná loop ().
Samozrejme, svoje vlastné aktivity suplujete v riadku „tu niečo urobte“. Začnite vytlačením textu alebo blikaním diódy LED.
Hotovo!
Odporúča:
555 Časovač na vyslanie signálu na prerušenie Atmega328: 7 krokov
555 Časovač na vyslanie signálu na prerušenie Atmega328: Hlavným cieľom tohto okruhu je úspora energie. Nebudem teda hovoriť o arduine, pretože samotná doska má pre konečný produkt zbytočnú réžiu. Je to skvelé pre vývoj. Nie je to však dobré pre konečné projekty spustené na batt
Živé streamovanie videa v rozlíšení HD 4G/5G z dronu DJI s nízkou latenciou [3 kroky]: 3 kroky
Živé streamovanie videa v rozlíšení HD 4G/5G z DJI Drone s nízkou latenciou [3 kroky]: Nasledujúci sprievodca vám pomôže získať živé video streamy v kvalite HD z takmer akéhokoľvek dronu DJI. S pomocou mobilnej aplikácie FlytOS a webovej aplikácie FlytNow môžete začať streamovať video z drona
4 kroky na meranie vnútorného odporu batérie: 4 kroky
4 kroky na meranie vnútorného odporu batérie: Tu sú 4 jednoduché kroky, ktoré vám môžu pomôcť zmerať vnútorný odpor batérie
IOT123 - PRERUŠENIE DOKTORA NABÍJAČKY: 3 kroky
IOT123 - PRERUŠENIE DOKTORA NABÍJAČKY: Pri ladení verzie 0.4 SOLAR TRACKER CONTROLLER som strávil veľa času zapojením multimetra do rôznych obvodov spínača NPN. Multimetr nemal prepojenia vhodné pre chlebové dosky. Pozrel som sa na niekoľko monitorov založených na MCU vrátane
Indikátor stavu batérie DIY/automatické prerušenie pre 12 V batériu: 5 krokov (s obrázkami)
Indikátor stavu batérie DIY/automatické prerušenie pre batériu 12v: DIYers … Všetci sme si prešli situáciou, keď sú naše špičkové nabíjačky zaneprázdnené nabíjaním týchto lítium -polymérových batérií, ale stále potrebujete nabiť túto 12 -olovenú kyselinovú batériu a jedinú nabíjačku, ktorú môžete dostal som slepý …. Áno, slepý, pretože