Witam,
to co wykorzystuję:
-ATmega16
-4 przyciski PA
-LCD - PB
-Diody - PD dodatkowa sygnalizacja binarna
Do tej pory uruchomiłem układ i dowolnie go modyfikowałem - bez przerwań.
Teraz chciałbym wprowadzić wielopoziomowe menu z którego będzie można (w dowolnej chwili) zmienić wykonywaną funkcję czy modyfikować zmienne - czyli bez przerwań się nie obejdzie.
Nie proszę tu o gotowy kod, ale raczej o strukturę jaką ma mieć kod i jak/jakie wykorzystać przerwanie.
Do tej pory moje programy wyglądały następująco:
1. Definicje
2. Deklaracje zmiennych
3. Deklaracje funkcji
4. Program główny main() z pętlą nieskończoną
Czy z przerwaniami ma wyglądać w ten sposób:
1. Definicje
2. Deklaracje zmiennych wraz z uruchomieniem przerwań
3. Deklaracje funkcji
4. Deklaracje funkcji przerwań (co się ma dziać podczas konkretnego przerwania)
5. Program główny main() z pętlą nieskończoną, programem/funkcją początkową, wywoływaniem przerwań od przycisków.
W necie jest masę informacji o przerwaniach jednak brakuje mi wszędzie takiego podejścia jak to wykorzystać i który rodzaj przerwania do jakiego zadania.
To co do tej pory to co zrozumiałem:
przerwania od Timer - np. przy wykorzystaniu jakiś ciągłych pomiarów lub komunikacji - Timer odlicza zdefiniowany wcześniej czas i wykonuje wskazaną procedurę na zbocze, zerowanie licznika czy przepełnienie
przerwania zewnętrzne - przerwanie od zewnętrznego sygnału - inne urządzenie lub przyciski - to przerwanie będę wykorzystywał ja jako przerwanie od klawiatury
SIG_INTERRUPT0 do SIG_INTERRUPT7 tylko w jaki sposób mam przyporządkować piny PA żeby tylko na te reagowały przerwania.
Koledzy proszę o zweryfikowanie mojego toku myślenie w pewnie wyprostowanie.
Rozumiem, że to są podstawowe wiadomości ale właśnie ich wyjaśnienia brakuje mi w sieci.
to co wykorzystuję:
-ATmega16
-4 przyciski PA
-LCD - PB
-Diody - PD dodatkowa sygnalizacja binarna
Do tej pory uruchomiłem układ i dowolnie go modyfikowałem - bez przerwań.
Teraz chciałbym wprowadzić wielopoziomowe menu z którego będzie można (w dowolnej chwili) zmienić wykonywaną funkcję czy modyfikować zmienne - czyli bez przerwań się nie obejdzie.
Nie proszę tu o gotowy kod, ale raczej o strukturę jaką ma mieć kod i jak/jakie wykorzystać przerwanie.
Do tej pory moje programy wyglądały następująco:
1. Definicje
2. Deklaracje zmiennych
3. Deklaracje funkcji
4. Program główny main() z pętlą nieskończoną
Czy z przerwaniami ma wyglądać w ten sposób:
1. Definicje
2. Deklaracje zmiennych wraz z uruchomieniem przerwań
3. Deklaracje funkcji
4. Deklaracje funkcji przerwań (co się ma dziać podczas konkretnego przerwania)
5. Program główny main() z pętlą nieskończoną, programem/funkcją początkową, wywoływaniem przerwań od przycisków.
W necie jest masę informacji o przerwaniach jednak brakuje mi wszędzie takiego podejścia jak to wykorzystać i który rodzaj przerwania do jakiego zadania.
To co do tej pory to co zrozumiałem:
przerwania od Timer - np. przy wykorzystaniu jakiś ciągłych pomiarów lub komunikacji - Timer odlicza zdefiniowany wcześniej czas i wykonuje wskazaną procedurę na zbocze, zerowanie licznika czy przepełnienie
przerwania zewnętrzne - przerwanie od zewnętrznego sygnału - inne urządzenie lub przyciski - to przerwanie będę wykorzystywał ja jako przerwanie od klawiatury
SIG_INTERRUPT0 do SIG_INTERRUPT7 tylko w jaki sposób mam przyporządkować piny PA żeby tylko na te reagowały przerwania.
Koledzy proszę o zweryfikowanie mojego toku myślenie w pewnie wyprostowanie.
Rozumiem, że to są podstawowe wiadomości ale właśnie ich wyjaśnienia brakuje mi w sieci.
