-
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
- DS1813-10 się psuje
- Taki tam szkolny problem...
- LIR2032 a ML2032
- SmartWatch Multimetr bezprzewodowy
- olej psuje?
- Internet w lesie - Starlink
- Opis produktu z Aliexpress
- No proszę, a śmialiście się z hindusów.
- Zewnętrzne napięcie referencyjne LM385 1,2V -> 100mV dla ICL7106, Metex M-3800
- 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
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=