Spisu treści:
- Krok 1: Obsługa przerwań
- Krok 2: Ustaw okresowy przedział czasu
- Krok 3: Inicjalizacja przerwań
- Krok 4: Gdzie dodać swój kod
Wideo: Arduino - okresowe przerwanie: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Ten Instruktaż dotyczy używania okresowego przerwania do odmierzania czasu w programach Arduino. To krok dla początkującego programisty Arduino, który wie, że Arduino może więcej, ale nie do końca wie, jak to zrobić.
Jeśli występuje problem z wydajnością, zakładam, że używasz jednej lub więcej funkcji delay(). Sztuczka polega na pozbyciu się funkcji delay() i zastąpieniu przerwania. Funkcja delay() wymusza na Arduino nicnierobienie podczas oczekiwania na zakończenie funkcji delay(). Użycie przerwania pozwala programowi na wykonywanie innych czynności podczas oczekiwania na koniec opóźnienia. Zwykle istnieje ogromna ilość niewykorzystanego czasu martwego, który można wykorzystać na inne rzeczy podczas korzystania z funkcji delay(). Użycie przerwania rozwiązuje ten problem.
Krok 1: Obsługa przerwań
1. Dodaj obsługę przerwań do swojego programu. Po prostu skopiuj i wklej gdzieś powyżej setup();
const unsigned long TIMER0_COUNT = 500; // Interwał timera 500 ms
// TIMER0 obsługa przerwań volatile bool time = false; ISR(TIMER0_COMPA_vect) { static unsigned long count = 0; if (++liczba > TIMER0_COUNT) { ilość = 0; czas = prawda; // czas jest ustawiany na true co TIMER0_COUNT ms } // (czas musi być wyczyszczony w głównej procedurze) }
Krok 2: Ustaw okresowy przedział czasu
2. Ustaw interwał czasowy. Ta procedura łączy się z przerwaniem TIMER0, które jest ustawione na uruchamianie co ~1 ms.
Twój „interwał” to liczba przerwań TIMER0 do przetworzenia. Każdy interwał wynosi ~1 ms, więc tak naprawdę ustawiasz, ile przerwań TIMER0 ma zliczyć przed aktywacją interwału. IOW, ustaw zmienną TIMER0_COUNT na tyle milisekund, ile chcesz czekać. Na przykład użyj 500 przez pół sekundy. Użyj 3000 przez 3 sekundy.
Krok 3: Inicjalizacja przerwań
3. Dodaj kod „Inicjalizacja TIMER0” do metody setup(). Ponownie, po prostu skopiuj i wklej w setup().
// *** Inicjalizacja TIMERA0 ***
cli(); // wyłącz wszystkie przerwania TIMSK0 = 0; // wyłącz timer0 dla mniejszego jittera OCR0A = 0xBB; // liczba dowolnych przerwań TIMSK0 |= _BV(OCIE0A); // wróć na przerwanie sei(); // ponownie włącz przerwania
Krok 4: Gdzie dodać swój kod
4. Dodaj kod "sprawdzania czasu" do swojej metody loop(). Skopiuj i wklej w loop().
jeśli (czas) {
czas = fałsz; // zrób coś tutaj }
„Czas = fałsz;” linia jest ważna. Bez tego wiersza wiersze „zrób coś tutaj” byłyby wykonywane za każdym razem, gdy program wykonuje loop().
Oczywiście w wierszu „zrób coś tutaj” podstawiasz własne czynności. Zacznij od wydrukowania tekstu lub migania diody LED.
Jesteś skończony!
Zalecana:
Pierwsze kroki z Digispark Attiny85 przy użyciu Arduino IDE: 4 kroki
Rozpoczęcie pracy z Digispark Attiny85 przy użyciu Arduino IDE: Digispark to oparta na Attiny85 płytka rozwojowa mikrokontrolera podobna do linii Arduino, tylko tańsza, mniejsza i nieco mniej wydajna. Z całą gamą osłon rozszerzających jego funkcjonalność i możliwością korzystania ze znanego identyfikatora Arduino
Pierwsze kroki z ESP32 - Instalowanie płytek ESP32 w Arduino IDE - Kod migania ESP32: 3 kroki
Pierwsze kroki z ESP32 | Instalowanie płytek ESP32 w Arduino IDE | ESP32 Blink Code: W tej instrukcji zobaczymy, jak rozpocząć pracę z esp32 i jak zainstalować płyty esp32 w Arduino IDE, a także zaprogramujemy esp 32 do uruchamiania kodu błyskowego za pomocą arduino ide
Pierwsze kroki z Stm32 przy użyciu Arduino IDE: 3 kroki
Pierwsze kroki z Stm32 przy użyciu Arduino IDE: STM32 to dość potężna i popularna płyta obsługiwana przez Arduino IDE. Aby z niej skorzystać, musisz zainstalować płyty dla stm32 w Arduino IDE, więc w tej instrukcji opowiem, jak zainstalować płyty stm32 i jak zaprogramować to
Pierwsze kroki z Esp 8266 Esp-01 z Arduino IDE - Instalowanie płytek Esp w Arduino Ide i programowanie Esp: 4 kroki
Pierwsze kroki z Esp 8266 Esp-01 z Arduino IDE | Instalowanie płyt Esp w Arduino Ide i programowanie Esp: W tej instrukcji dowiemy się, jak zainstalować płyty esp8266 w Arduino IDE oraz jak zaprogramować esp-01 i przesłać w nim kod. Ponieważ płyty esp są tak popularne, pomyślałem o naprawieniu instrukcji dla to i większość ludzi boryka się z problemem
Pierwsze kroki z Arduino: Co musisz wiedzieć: 4 kroki (ze zdjęciami)
Pierwsze kroki z Arduino: Co musisz wiedzieć: Pracuję z Arduino i elektroniką od wielu lat i wciąż się uczę. W tym stale rozwijającym się świecie mikrokontrolerów łatwo się zgubić i krążyć wokół siebie, próbując znaleźć informacje. W tej instrukcji