Obsah:
- Krok 1: Handler přerušení
- Krok 2: Nastavte periodický časový interval
- Krok 3: Přerušení inicializace
- Krok 4: Kam přidat kód
Video: Arduino - Periodické přerušení: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
This Instructable is about using a periodic interrupt for timing in Arduino programs. Toto je krok pro začínajícího programátora Arduina, který ví, že Arduino dokáže víc, ale neví, jak toho dosáhnout.
Pokud existuje problém s výkonem, předpokládám, že používáte jednu nebo více funkcí delay (). Jde o to zbavit se funkce delay () a nahradit přerušení. Funkce delay () nutí Arduino nic nedělat, zatímco čeká na dokončení delay (). Použití přerušení umožňuje vašemu programu dělat jiné věci, zatímco čeká na konec zpoždění. Při použití delay () je obvykle obrovské množství nevyužitého mrtvého času, který by mohl být použit na jiné věci. Tento problém řeší použití přerušení.
Krok 1: Handler přerušení
1. Přidejte obslužný program přerušení do svého programu. Stačí zkopírovat a vložit někam nad setup ();
konst bez znaménka dlouhý TIMER0_COUNT = 500; // Interval časovače 500 ms
// TIMER0 obsluha přerušení 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 true každých TIMER0_COUNT ms} // (čas je třeba vymazat v hlavní rutině)}
Krok 2: Nastavte periodický časový interval
2. Nastavte časový interval. Tato rutina se sama přepíná na přerušení TIMER0, které je nastaveno tak, aby se spouštělo každých ~ 1 ms.
Váš „interval“je počet přerušení TIMER0, která se mají zpracovat. Každý interval je ~ 1 ms, takže opravdu nastavujete, kolik přerušení TIMER0 se má počítat, než aktivujete svůj interval. IOW, nastavte proměnnou TIMER0_COUNT na mnoho milisekund, na které chcete počkat. Například použijte 500 po dobu jedné půl sekundy. Použijte 3 000 na 3 sekundy.
Krok 3: Přerušení inicializace
3. Přidejte kód „inicializace TIMER0“do metody setup (). Opět stačí zkopírovat a vložit v setup ().
// *** Inicializace TIMER0 ***
cli (); // vypnout všechna přerušení TIMSK0 = 0; // vypnout timer0 pro nižší jitter OCR0A = 0xBB; // počet libovolných přerušení TIMSK0 | = _BV (OCIE0A); // prasátko zpět na přerušení sei (); // opětovné zapnutí přerušení
Krok 4: Kam přidat kód
4. Přidejte do metody loop () kód „kontrola času“. Zkopírujte a vložte do smyčky ().
pokud (čas) {
time = false; // udělej něco tady}
„Čas = nepravda;“linka je důležitá. Bez tohoto řádku by se řádky „udělej něco tady“spustily pokaždé, když program provede loop ().
Samozřejmě své vlastní aktivity suplujete v řádku „udělejte něco tady“. Začněte vytištěním textu nebo blikáním LED diody.
Jsi hotový!
Doporučuje:
Laboratoř přerušení (nedokončená práce): 3 kroky
Interrupts Lab (Work in Progress): Účelem této laboratoře je spustit program Arduino pomocí Interrupts. Tato laboratoř nefunguje zcela správně kvůli problémům s kódováním. Co budete potřebovat:- 1 Arduino Uno- 1 Breadboard- 1 tlačítko- 3 LED- odpory 220 Ohm- propojovací vodiče
Návrh programovatelného řadiče přerušení ve VHDL: 4 kroky
Návrh programovatelného řadiče přerušení ve VHDL: Jsem ohromen druhem odpovědí, které dostávám v tomto blogu. Díky, lidi, že jste navštívili můj blog a motivovali mě, abych se s vámi podělil o své znalosti. Tentokrát představím návrh dalšího zajímavého modulu, který vidíme ve všech SOC - Interrupt C
Senzor blokování světla Arduino (modul přerušení fotografií) - Zabezpečení vašich karet (prototyp): 4 kroky
Senzor blokování světla Arduino (modul přerušení fotografií) - Udržujte své karty v bezpečí (prototyp): Tento projekt je prototyp a v tomto projektu budu diskutovat o tom, jak lze uchovávat vaše karty - například kreditní karty, debetní karty, dárkové karty - bezpečný. Podívejte se na obrázky výše, abyste zjistili, jak tento projekt funguje. Dovolte mi, abych se podíval na
IOT123 - PŘERUŠENÍ NABÍJEČE DOKTORU: 3 kroky
IOT123 - NABÍJENÍ DOKTORU NABÍJEČKY: Při ladění verze 0.4 SOLAR TRACKER CONTROLLER jsem strávil spoustu času zapojováním multimetru do různých obvodů spínačů NPN. Multimetr neměl připojení vhodné pro prkénko. Podíval jsem se na několik monitorů založených na MCU včetně
Přerušení sluchátek v soupravě: 4 kroky
Přerušení sluchátek v soupravě: Spousta lidí přísahá, že si zlomila sluchátka- jsem si napůl jistý, že můj současný pár zní stejně dobře jako ve službě jako reproduktor. Úžasný pár to nezlepší lépe, ale může to znamenat, že dobrý pár bude znít lépe, nebo pomůže vyniknout