-
Data: 2013-02-23 17:50:41
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-23 12:54, Michoo pisze:
> Po odliczeniu błędów zasilania - nie. [1] To by oznaczało, że nie można
> go bezpiecznie używać.
> (...)
> Załóżmy, że masz szansę na zadziałanie w cyklu 6? - to by oznaczało, że
> procesor lecący na 20MHz zawiesza się średnio co 25 sekund...
Chodziło mi raczej o znacznie, znacznie rzadsze przypadki. Kiedy uC
pracuje non stop. Założyłem, że w pewnym momencie może wystąpić jakaś
"sprzętowa" przyczyna zawieszenia i w związku z tym stosowanie watchdoga
ma sens.
> Błędnie - to jest jedyne z czym się będziesz musiał mierzyć w typowych
> przypadkach.
Rozumiałem przez to "pomijam w tych rozważaniach" a nie "pomijam w całym
projekcie udając, że zagadnienie nie istnieje". ;)
> W sprzęcie bateryjnym trochę z tym gorzej - dlatego robi się obwód
> resetu na długim przytrzymaniu włącznika.
Sprzętowy włącznik też przecież można zainstalować. ;)
> A spora część współczesnych SoC ma odrębne bloki funkcjonalne z
> niezależnym wejściem zegara i asynchroniczne moduły komunikacyjne po to,
> żeby cała reszta mogła spać.
Z tego co wyczytałem w dokumentacji, to w D15 działa to trochę inaczej.
Żeby wybudzić moduł ze stanu uśpienia trzeba wysłać jakikolwiek, krótki
ciąg znaków i odczekać 30ms. Wysłana wiadomość przepada. Dopiero potem
można nawiązać właściwą komunikację.
> No tak, ale właśnie w ten sposób - przez zostawienie nieobsłużonych
> przypadków - tworzy się zawieszające się urządzenia. Dobra praktyka -
> zawsze dajesz default a jak nie wiesz co tam wstawić to wstawiasz
> logowanie błędu + reset.
Nieobsłużony jest w tej chwili, bo jak na razie nie mam nawet wykonanych
połączeń, które umożliwiłyby mi przeprowadzenie resetu modułu z poziomu
mikrosterownika.
> A co w momencie gdy przyjdzie zakłócenie i zamiast cyferki przyjdzie coś
> niezrozumiałego?
Przedstawione rozwiązanie było tymczasowym. Teraz wyciągam liczbę za
pomocą sscanf(). Przy czym rzecz jasna przed zakłóceniem w komunikacji
przez USART mnie to nie obroni. Jak będzie miało dojść do przekłamania,
to do niego dojdzie. Jeśli zastosuję twoje rozwiązanie - całe urządzenie
się wtedy zrestartuje.
Jeśli zrobię to po mojemu - dioda zamiga informując mnie, że coś jest
nie tak. Odłożę słuchawkę i spróbuję podnieść ją ponownie.
Jak widać każda filozofia ma swoje złe i dobre strony. ;)
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 Dobra zmiana
- 2024-11-14 Czy prezydent może ułaskawić od zadośćuczynienia? [A. Lepper odszkodowania]
- 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) <=