Co to są przerwania
Aby zrozumieć koncepcję przerwań, możemy wziąć scenariusz wypadku samochodowego. Załóżmy, że samochód porusza się po autostradzie, a elektronika samochodowa jest stale monitorowana przez mikrokontroler, jak pomiar prędkości samochodu i temperatury kabiny i tym podobne. Nagle samochód uderza coś, a następnie komputer samochodowy zatrzymuje wszystko i wykonuje otwarcie poduszek powietrznych. Tak więc tutaj, w tym przykładzie, wypadek jest przerwaniem, a otwarcie poduszki powietrznej jest instrukcją podaną, jeśli nastąpi to przerwanie. Tak więc po otwarciu poduszek powietrznych komputer będzie nadal wykonywać swoje rutynowe funkcje.
Przerwania w Arduino
W programowaniu Arduino w celu obsługi przerwania używana jest funkcja o nazwie Procedura usługi przerwania. Ta funkcja jest wywoływana, gdy przerwanie jest uruchamiane, ponieważ funkcja ta przenosi instrukcję do wykonania, gdy jakiekolwiek przerwanie zostanie uruchomione. Przerwanie mogą być oparte na oprogramowaniu lub oparte na sprzęcie, głównie przerwania w Arduino są oparte na sprzęcie.
Sprzęt przerywa: Gdy włamanie jest spowodowane przepływem programu Arduino przez którekolwiek z urządzeń wejściowych połączonych z Arduno, nazywa się przerwaniem sprzętu.
Oprogramowanie przerywa: Gdy przepływ programu Arduino zostanie zakłócony z powodu komputera lub niektórych oprogramowania, takie rodzaje przerwań nazywane są przerwania oprogramowania.
W przypadku przerywników opartych na sprzęcie używane są dwa szpilki na płytkę Arduino Uno, to jest pin numer 2 i 3, a te piny różnią się dla każdej płyty.
Funkcją używaną do deklarowania przerwania jest załącznik () funkcjonować. Ta funkcja ma trzy argumenty: po pierwsze jest pinem przerwania, druga to procedura usługi przerwania (ISR), a ostatni jest stanem, w którym nastąpi przerwanie. Podobnie, aby zadeklarować szpilkę przerwań dla Arduino DigitalPintoInterrupt () Zastosowana jest funkcja. Składnia funkcji załącznika jest podana jako:
załącznik (DigitalPintoInterrupt (pin), ISR, tryb);Istnieje pięć trybów, które są używane do definiowania stanu przerwania, które są następujące:
Przykład
Aby dać jasny obraz przerwań w Arduino, przykład przerwania ilustruje przykład. W tym przykładzie zmiana stanu z wysokiej na niską diodą LED jest traktowana jako wyzwalacz przerwania i podaje się kod wyzwalania przerwania:
const int Ledpin = 12;Schemat obwodu
Wniosek
Przerwania w Arduino są używane do obsługi oczekiwanych włamań w przepływie kodu. Przerwiki można również wykorzystać do wykonywania dowolnego zadania o wyższym priorytecie w określonym czasie, łamanie przepływu roboczego programu Arduino. Po przerywaniu programu wykonuje normalne zadania, które wykonywał. W tym opisie, co są przerwania i jak są one używane w Arduino, są krótko omówione.