18-06-2019, 17:24
Na początek otwórz nowy szkic i naucz się używać przerwań zewnętrznych. Chcesz zrobić nieco bardziej skomplikowany program to więcej musisz w niego włożyć od siebie. Przy takim programie wystarczy jedno przerwanie, wewnątrz jego obsługi możesz sprawdzić stan przycisków, ustawić zmienną "przerwij"=1 i np. "efekt" =15, wyłączasz przerwanie.
Wszystkie efekty (ich funkcje) możesz wrzucić do switch case, gdy wewnątrz efektu zauważysz przerwij=1 to ustawiasz przerwij=0, opuszczasz efekt i potem switch case, przy ponownym wejściu w switch case kasujesz ewentualne flagi przerwania, włączasz przerwanie i wchodzisz w efekt 15.
Dzięki temu nawet jeśli przycisk wcisnąłeś w czasie jakiegoś delay czy trwania innych zadań informacja o tym będzie na Ciebie czekać w zmiennej przerwij. Zmienna przerwij powinna mieć dodatkowo specyfikator volatile, bo jest zmieniana w przerwaniu i poza nim.
Wszystkie efekty (ich funkcje) możesz wrzucić do switch case, gdy wewnątrz efektu zauważysz przerwij=1 to ustawiasz przerwij=0, opuszczasz efekt i potem switch case, przy ponownym wejściu w switch case kasujesz ewentualne flagi przerwania, włączasz przerwanie i wchodzisz w efekt 15.
Dzięki temu nawet jeśli przycisk wcisnąłeś w czasie jakiegoś delay czy trwania innych zadań informacja o tym będzie na Ciebie czekać w zmiennej przerwij. Zmienna przerwij powinna mieć dodatkowo specyfikator volatile, bo jest zmieniana w przerwaniu i poza nim.
Miło być decenianym https://buycoffee.to/kaczakat