-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.supermedia.pl!plix.pl!newsfeed2.plix.pl!news.nask.pl!news.nask.or
g.pl!news.internetia.pl!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: AVR - przerwania zewnętrzne, usypianie i budzenie
Date: Fri, 22 Feb 2013 00:26:44 +0100
Organization: Netia S.A.
Lines: 72
Message-ID: <kg6aul$tba$1@mx1.internetia.pl>
References: <kg3hur$15n$1@portraits.wsisiz.edu.pl> <kg3kbm$97a$1@news.dialog.net.pl>
<kg5mhs$6ag$2@portraits.wsisiz.edu.pl>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1361489685 30058 83.238.197.12 (21 Feb 2013 23:34:45 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Thu, 21 Feb 2013 23:34:45 +0000 (UTC)
In-Reply-To: <kg5mhs$6ag$2@portraits.wsisiz.edu.pl>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.11) Gecko/20121123
Icedove/10.0.11
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:642994
[ ukryj nagłówki ]On 21.02.2013 18:46, Atlantis wrote:
> W dniu 2013-02-20 23:56, DJ pisze:
>
>> Tak musisz program przemyśleć żeby miał okazję resetować watchdoga, jako
>> objaw normalnej pracy. Np przerwaniami z timerów, czy czegokolwiek
>> innego co występuje zawsze częściej niż okres watchdoga.
>> Jeśli chcesz uśpić uC na amen na 30 minut, bo np po takim czasie
>> przjdzie Ci INT0/1, to watchdoga w tym czasie użyć nie możesz.
>
> Czyli tak jak myślałem... Czy w takim razie duże jest zagrożenie
> zawieszeniem się uC w trybie uśpienia?
Jeżeli projekt jest poprawnie zaprojektowany to nie istnieje ryzyko
"zawieszenia".
Przykład 1 - Czytasz dane z GPS po UART i zapisujesz na kartę.
- Procesor po starcie resetuje zewnętrzne urządzenia i przeprowadza
inicjalizację.
- Procesor przechodzi w tryb IDLE.
- Przerwania UART powodują pakowanie bajtów do bufora i sparsowanie
wiadomości po \n.
- Przerwanie zegarowe rozpoczyna zapis na kartę po SPI.
- Przerwania obsługują transmisję po SPI.
- Jeżeli nie będzie przez dłuższy czas komunikacji od GPS, albo zamrze
komunikacja z kartą watchdog wywoła reset pozwalając.
Szablon wygląda +- tak:
main(){
if(watch_dog_reset){
report_error();
GPS->force_reset();
CARD->force_reset();
}
GPS->setup();
CARD->setup();
//...
for(;;)
sleep();
}
Przykład 2 - czekasz na naciśnięcie przycisku i otwierasz zamek jeżeli
się zgadza karta.
- Procesor po starcie resetuje zewnętrzne urządzenia i przeprowadza
inicjalizację.
- Procesor przechodzi w tryb STANDBY.
- Jedynym zdarzeniem na które czeka procesor jest przycisk, więc wd jest
wyłączony.
- W czasie kiedy następuje komunikacja z kartą włączasz wd.
Szablon wygląda +- tak:
main(){
if(watch_dog_reset){
report_error();
cleanup();
}
BTN1->setup();
for(;;){
sleep();
wd_enable();
CARD->setup();
if(CARD->verify_access()){
DOOR->open();
busy_wait();
DOOR->close();
}
wd_disable();
}
}
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 22.02.13 19:00 Atlantis
- 22.02.13 21:00 Michoo
- 23.02.13 08:59 Atlantis
- 23.02.13 12:54 Michoo
- 23.02.13 17:50 Atlantis
Najnowsze wątki z tej grupy
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
Najnowsze wątki
- 2024-12-25 Wrocław => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2024-12-25 Warszawa => Sales Assistant <=
- 2024-12-25 Kraków => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-25 Lublin => System Architect (Java background) <=
- 2024-12-25 Szczecin => Specjalista ds. public relations <=
- 2024-12-25 Wrocław => Key Account Manager <=
- 2024-12-25 Kraków => Full Stack .Net Engineer <=
- 2024-12-25 Kraków => Programista Full Stack .Net <=
- 2024-12-25 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-25 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-25 Białystok => Delphi Programmer <=
- 2024-12-25 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2024-12-25 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2024-12-25 Mińsk Mazowiecki => Spedytor Międzynarodowy <=
- 2024-12-24 Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie