-
Data: 2013-02-09 20:27:38
Temat: Re: AVR - przerwania zewn?trzne, usypianie i budzenie
Od: Atlantis <m...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2013-02-09 19:47, michal pisze:
> liczniki liczą, uart pracuje, program nie jest wykonywany,
> pojawiajace sie przerwanie budzi mikrosterownik, wykonuje dane
> przerwanie i wznawia wykonywanie następnego kodu po instrukcji sleep.
Każde przerwanie, dobrze rozumiem? Czyli jeśli USART mi coś wyśle, to po
wykonaniu funkcji obsługi przerwana odbioru znaku program rozpocznie
normalne działanie, nawet jeśli funkcja sama w sobie nie będzie
zawierała instrukcji wybudzenia?
> dokładnie następna instrukcja po sleep. (lub przerwanie trzeba popatrzeć do
> manuala
> aczkolwiek to zazwyczaj bez znaczenia)
Chcę po prostu upewnić się, czy moje rozumienie tematu jest poprawne,
zanim zabiorę się za pisanie kodu. Generalnie program ma być uśpiony
przez większość czasu. Budzić mają go dwa zdarzenia:
1) Pojawienie się sygnału dzwonka (linia RI współpracującego modułu GSM)
2) Podniesienie słuchawki telefonicznej.
Linie podpięte są odpowiednio do INT0 i INT1. Przerwania wyzwalane
pojawieniem się stanu niskiego (a może zbocze odpadające byłoby lepszym
pomysłem?). Wewnątrz obsługujących je funkcji znajduje się tylko
instrukcja wybudzenia.
W funkcji main znajduje się nieskończona pętla. W niej dwie instrukcje
warunkowe. Jedna sprawdza obecność stanu niskiego na RI, druga
podniesienie słuchawki. Dopóki warunki te są spełnione, w pętlach
wykonują się właściwe operacje.
Za instrukcjami warunkowymi, na końcu nieskończonej pętli znajduje się
instrukcja wprowadzająca moduł w stan uśpienia, tak więc po następnym
wybudzeniu sprawdzanie zacznie od następnej iteracji nieskończonej pętli.
Tak to powinno wyglądać czy coś pomieszałem?
> (tych trybów jest kilka i trochę różnie na różnych prockach działają).
Mi akurat chodzi o zwykłą Atmegę8. ;)
Następne wpisy z tego wątku
- 10.02.13 13:43 DJ
- 10.02.13 17:58 Atlantis
- 10.02.13 18:04 AlexY
- 10.02.13 18:26 DJ
- 10.02.13 18:34 Atlantis
- 10.02.13 18:33 DJ
- 10.02.13 18:40 DJ
- 10.02.13 18:54 DJ
- 10.02.13 19:21 Atlantis
- 10.02.13 19:37 J.F.
- 11.02.13 01:10 Marek
- 11.02.13 03:02 Michoo
- 11.02.13 11:51 Adam Wysocki
- 20.02.13 23:15 Atlantis
- 20.02.13 23:56 DJ
Najnowsze wątki z tej grupy
- karta parkingowa
- Wl/Wyl (On/Off) bialy/niebieski
- I3C
- Pytanie o transformator do dzwonka
- międzymordzie USB 3.2 jako 2.0
- elektronicy powinni pomysleć o karierze elektryka
- jak szybko plynie prad
- Płytki Milkv-Duo
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
Najnowsze wątki
- 2024-11-14 Gliwice => Network Systems Administrator (IT Expert) <=
- 2024-11-14 Gliwice => Administrator Systemów Sieciowych (Ekspert IT) <=
- 2024-11-13 Filtr do pompy ruskiej
- 2024-11-12 Gdzie kosz?
- 2024-11-13 elektrycznie
- 2024-11-12 Jebane kurwa, kurwy.
- 2024-11-13 karta parkingowa
- 2024-11-13 Wl/Wyl (On/Off) bialy/niebieski
- 2024-11-12 I3C
- 2024-11-13 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-13 Łódź => Senior SAP HANA Developer <=
- 2024-11-13 Zabrze => Senior PHP Symfony Developer <=
- 2024-11-13 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-13 Kraków => QA Inżynier <=
- 2024-11-13 Żerniki => Dyspozytor Międzynarodowy <=