#asm("wdr")
Watchdog to jedno, odmierzanie czasu to drugie. Na razie skup się na przejściach między stanami systemu, co gdzie włączać i wyłączać, na jakie zdarzenie czekać w każdym stanie. Zresetować watchdoga jest prosto (np. w main po wyjściu ze stanu uśpienia), trudniej jest zapewnić, że system zachowa się odpowiednio po zresetowaniu w każdym możliwym stanie....
Ad. 2. Wykorzystaj dedykowany temu celowi wewnętrzny układ watchdog, który zresetuje mikrokontroler w razie problemów.
LCD ma buforowane wejścia więc możesz nie zauważyć że się coś powiesiło bo będziesz miał "prawidłowy" odczyt. Watchdog to wewnętrzy układ (timer) w procesorze który należy (po uruchomieniu) zerować, jeśli nie wyzerujemy (np program się zawiesi) to po upływie okreslonego czasu watchdog zresetuje procesor ;)
Oczywiście chodzi o sam początek programu, użyłem skróty myślowego. Na samym początku programu niech będzie warunek który sprawdza czy był zresetowany przez watchdog (specjalna flaga w rejestrze MCUCSR), jeśli nie - czyli jak program uruchamia się pierwszy raz, to program leci dalej i robi co ma zrobić, potem w momencie kiedy chcesz uśpić procka uruchamiasz...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Dodatkowo w przypadku wystąpienia takiego timeoutu trzeba by obsłużyć jakoś błąd magistrali: http://obrazki.elektroda.pl/2162467700_1...
Zresetuje się. Watchdog.
Powinieneś tak napisać program, aby taki reset nie był potrzebny a jeśli upierasz się przy tym to wykorzystaj WATCHDOGa.
Jest kilka możliwości. Tak samo w Bascomie jak i w każdym innym języku/kompilatorze. Można uruchomić WATCHDOGa i odczekać w pustej pętli aż zresetuje, można połączyć dowolne wyjście mikrokontrolera z wejściem resetu i zresetować, gdy potrzeba. Np tak: CONFIG WATCHDOG = 16 start watchdog do:loop A dlaczego chcesz resetować? Nie lepiej napisać program...
Jeśli watchdog zresetuje ci procesor np za 100ms a ty wstawiasz wait 5 to on nigdy się nie wykona bo procesor zostanie zresetowany. Watchdog i waitms to bardzo złe połaczenie. Co jest źle w programie to nie wiem, zacznij od wyrzucenia watchdoga i sprawdzenia czy wogóle coś działa
Watchdog nie musi generować sygnału RESET. W AVRach sam wybierasz czy zgłoszenie od Watchdoga ma zresetować procka czy też tylko wywołać przerwanie od niego, bądź jedno i drugie w kolejności - przerwanie a przy wyjściu z niego reset. http://obrazki.elektroda.pl/1548346700_1...
Jeśli resetował by prawidłowo to program wgrany do Uc powinien startować od początku. Dzieje się tak tylko kiedy zostanie naciśnięty reset PIN. Gdy układ zresetuje WATCHDOG to program nie startuje od początku, tylko widać przypadkowe znaki na wyświetlaczu. Dopiero po resecie z pinu wszystko wraca do normy.
WatchDog jest układem, który wykrywa "zawieszenie" się procesora i automatycznie go resetuje. Procesor musi podawać impulsy na układ WatchDog - kasować go. Jeśli procesor się "zawiesi" (bark impulsów) układ WatchDog zostanie przepełniony i zresetuje procesor.
Z tego co wiem to najpierw watchdog powinien poczekać 2 sekundy, potem obsłużyć przerwanie i zacząć liczyć od nowa ( podczas gdy MCU będzie czekać 2000ms) i migać dalej. Dopiero po kolejnym odliczeniu 2 sekund przez watchdoga system powinien się zresetować.
Czy dobrze rozumiem że program działa przez czas dopóki watchdog nie zresetuje układu, natomiast gdy wyłączasz watchdog funkcją WDT_Stop program nie działa wcale?
poprowadzi mnie ktoś za rączke przy uruchomieniu psa w s52? (asembler) całkiem od podstaw, tzn poczytałem troszkę o zerowaniu licznika i wiem żeby nie umieszcać tego w prodedurze przerwań. Mam kilka pętli, główną i kilka "obok" w których ustawiane są parametry pracy, oraz wykrywanie błędów. W sumie jest ok 4 króciutkich pętli i można by było tam umieścić...
1. Miejsce na konfigurację punktów końcowych USB i bufory dla USB i CAN. 2b. CSS monitoruje HSE, nie SYSCLK, więc nie. No chyba, że wszystko się wysypie i program nie zresetuje watchdoga, o ile był włączony.
Można coś kombinować, ale nigdy nie będzie to watchdog o 100% pewności. Niestety nawet AT89S53 z włączanym w 2 instrukcji po resecie watchdogiem potrafi się zawiesić :!:. Jedyny pewny sposób to zewnętrzny watchdog lub procesor z watchdogiem uruchomionym na stałe (np. ATMEGA...)
Myślę, może się mylę, że ten Watchdog tam jest, ale dla oprogramowania typu NOOS czyli No Operating System czyli dla systemu komend AT i nie jesteś w stanie zawiesić tego systemu, lub napisze Bad Command, lub sie faktycznie zresetuje :D Watchdog sprzętowy może się przydać kiedy użytkownik ESP postanowi go sam oprogramować. LUA to też inna para kaloszy...
Może wyschły elektrolity :> Można ustawić BOD w FuseBitach np. na 4V to przy niższym napięciu kiedy procek mógłby "zgłupieć" układ sam się zresetuje. Można ustawić Watchdog`a... ogólnie jeśli Reset pomaga to obstawiam oprogramowanie...
Z chęcią bym taką pracę przejrzał. Bo czasem to strach jak przyjdą testy niezawodnościowe, i najlepiej zaficzerowany, zabezpieczony soft z milionami sposobami sprawdzania warunków i watchdogami nie pomoże A ja myślałem że po to właśnie jest watchdog, by zresetować procesor, który na skutek zakłóceń źle funkcjonuje. Można również dodać watchdog zewnętrzny.
Konfigurujesz WD na 256 i startujesz. Teraz jeśli chcesz by WD wybudził procesor, ale go nie zresetował to MUSISZ włączyć przerwanie od WD. W obsłudze przerwania nie musisz nic robić. Procek wroci w miejsce gdzie użyłeś SLEEP. Teraz jeśli możesz przez tę sekundę kiedy pracuje resetować WD co 200ms to nic nie trzeba robić, ale jesli coś tam dłuzej trwa...
Witam. Zadaniem urządzenia jest głównie odpowiadanie na słowa przychodzące na UART, co oznacza, że program większość czasu "wisi" na poleceniu input. Ponieważ urządzenie ma pracować 24h na dobę, i być maksymalnie niezawodne, oczywistym wydaje się użycie watchdoga. Czy w tej sytuacji (program "wiszący" na input, nie mający możliwości zresetowania watchdoga)...
Poza tym sprzętowy I2C potrafi uwiesić procesor 'na amen':) tak że nawet watchdog nie potrafi zresetować procesora Możesz, proszę rozwinąć myśl, bo trudno mi sobie to wyobrazić. Zawsze myślałem, że watchdog resetuje rdzeń jak się przepełni i nie da się tak zawiesić STM32 żeby watchdog nie był w stanie zresetować procka, nawet, a zwłaszcza jak ten utknie...
Witam potzrebuje urządzenie które będzie resetowało router gdy nie będzie internetu, Mam router z play z anteną zewnetrzną problem polega na tym iż co kilka dni internet przestaje działać i trzeba zrestartować urządzenie , niestety router jest w domu letniskowym 50km dalej więc jest problem bo trzeba dojachać, szukam urządzenia które automatyczne zresetuje...
Często używam BT do wgrywania oprogramowania. Jeśli używasz tego BT to pewnie masz skonfigurowany odbiór jakichś komend (chyba że na razie tylko nadawałeś) Konfiguruje to tak, że kiedy mikrokontroler odbierze komendę "RST" to najpierw wyłącza wszystkie przerwania po czym skacze do niekończącej się, pustej pętli. Utknie tam i Watchdog zresetuje mikrokontroler.
Bascom sam się nie zajmie resetowaniem Watchdog'a, jak słusznie zauważył Holy . Żeby z niego skorzystać najpierw trzeba go skonfigurować (ustawić stopień podziału - od tego zależy czas potrzebny na przepełnienie jego licznika) poleceniem CONFIG WATCHDOG = czas , później uruchomić: Start Watchdog . Teraz w newralgicznych punktach programu musi zostać...
http://www.elektroda.pl/rtvforum/topic48... Cytat: Nie wiem czy to jeszcze aktualna uwaga, ale miałem ten sam problem, a po wczytaniu się w dokumentacje pisze tam że po włączeniu watchdoga i zresetowaniu układu - watchdog nie jest wyłączonay ( bit WDE w rejestrze WDTCSR nie jest zerowany ). Musisz jako pierwszą instrukcję w programie umieścić...
Jeszcze kilka uwag co do kodu. Jak już będziesz robić tę lepszą wersję, to koniecznie włącz watchdoga. To jest podstawa, aby mikrokontroler został zresetowany, gdy hardware wejdzie w dziwny, nieustalony stan. Skonfiguruj też Brown-out detection. Jak będziesz robił protokół do komunikacji, to uwzględnij też komunikaty zwrotne wysyłane z mikrokontrolera,...
Założenia Watchdoga są takie, że jeśli włączysz przerwanie od niego to za pierwszym okresem nie zresetuje procesora tylko wejdzie w obsługe przerwania, ale on w tym przerwaniu skasuje bit WDTIE i już za drugim okresem zrestartuje procesor. Żeby Watchdog stale miał włączone przerwanie to trzeba to w kółko ustawiać. Teoretycznie nie powinno się z powrotem...
To będziesz musiał się trochę napocić. Po pierwsze jak używasz watchdoga w programie, to musisz w jakiś sposób sprawdzić czy reset aby na pewno służył do upgrade'u. Możesz to zrobić np przez zapis do eepromu jakiejś wartości, odczyt i odczyt jej bootloaderze (pamiętaj żeby bootloader ją resetował). Dobry by był też mechanizm który by pozwolił na zrezygnowanie...
Jest jakiś powód dla którego używasz WWDG (okienkowego watchdoga) a nie IWDG? WWDG zresetuje układ jeśli wartość licznika spadnie poniżej 0x40 lub kiedy uaktualniasz licznik, ale jego wartość podczas aktualizacji jest większa niż to co zapisałeś do CFR. Do CFR zapisałeś 1. Więc masz "wieczny reset". Zainteresuj się IWDG lub zapisz do CFR jakąś sensowną...
lepiej jednak umieścić funkcję podobną do tej zaprezentowanej przez mirka (z małą zmianą - wyzerować MCUSR i wywołać watchdog_disable()), umieszczoną w sekcji init3, ponieważ funkcja ta jest wykonywana wtedy jeszcze zanim program przejdzie do funkcji main - w tzw startupie. Czasami może się zdarzyć, że procesor nie zdąży wejść do funkcji main i zablokować...
Możemy się kłócić, możesz uważać, że Twój układ Cię okłamuje twierdząc, że zresetowany został przez IWDG, ale... 17.3.1 Hardware watchdog If the “Hardware watchdog” feature is enabled through the device option bits, the watchdog is automatically enabled at power-on, and will generate a reset unless the Key register is written by the software...
Problem który chcesz rozwiązać realizuje tzw. watchdog - timer który zgłasza alarm jeśli nie zostanie zresetowany na czas. W Twoim wypadku timer ma być resetowany przez wykrywanie ruchu przez czujnik. W jaki sposób chcesz sygnalizować alarm?
jak coś to w mikrokontrolerach gdy się zawiesza można uzywać jeszcze układu watchdog, który zresetuje nam procka gdy on sie zawiesi. W większości popularnych uC znajduje się ten układ wewnątrz więc wystarczy tylko odpowiednio zmodyfikować kod programu.
Nieprawda, nie musi resetować procesor, może wyłącznie wywoływać przerwanie... A co napisałem? Przypomnę Jeśli jednak watchdog ma możliwość generowania przerwania, to problemu nie ma trzeba w przerwaniu od watchdoga zresetować go i program będzie kontynuowany.
Póki co wykombinowałem by numer programu zapisać w EEPROMie i zresetować procesor watchdogiem jak gaskoin polecił. Teraz działa. mirekk36 pięknie mnie tu zjechałeś. Rzeczywiście, pojęcia nic mam co robię i za głupi jestem, żeby na forum zapytać co jest nie tak. Twoja pomoc bardzo mi pomogła. Wielkie dzięki.
AVE... Mikrokontroler ma wbudowany układ watchdoga, jeśli się zawiesi, watchdog go zresetuje. Dodatkowo ma trwałą pamięć. RPi jak się zwiesi, to rozwalić może cały system plików i po restarcie nie będzie banglać. Mikrokontroler po restarcie będzie zawsze działał. Dlatego rzeczy krytyczne opłaca się robić na mikrokontrolerach, a nie na komputerach...
zapomniałes o czyms: zresetuj licznik watchdoga przed jego startem :) nie wiem zy to ten adres, dla pewnosci używaj nazw symbolicznych wtedy program ładniej i czytelniej wygląda Pozdrawiam
Nie blokuje. To tylko nakazuje skok pod podany adres i jak wskażesz 0 to skoczy na początek flasha gdzie zaczyna się program. To jednak nie resetuje procesora całkowicie. Wszystkie zapisane rejestry zostaną nietknięte a to może nie być pożądaną opcją. Lepiej jest chyba ustawić Watchdog z najkrótszym czasem to zresetuje uC całkowicie i każe mu skoczyć...
Witam, mam pytanie. Czy jeżeli w programie skonfigurowany WATCHDOG nie zostanie zresetowany w wyniku zawieszenia procesora (np. popadnie w pętle martwą Do...Loop) i nastąpi restart mikro kontrolera , to czy WSZYSTKIE zmienne zostaną we wcześniejszym stanie, czy zostaną także wyzerowane? Watchdog-a zamierzam umieścić w programie, na procesorze ATMEGA8.
Dobra robota! Należy pamiętać, że obecna wersja ma pewne ulepszenia stabilności i system nadzorujący, więc teraz nie powinno być możliwe zawieszenie się i zablokowanie urządzenia na zawsze. Mechanizm watchdog zrestartuje go, jeśli coś pójdzie nie tak.
Wychodzi na to, że się zwyczajnie zawiesił przy aktualizacji. Niepokojące jest tylko to niewłaściwe działanie przycisku POWER. Czyżby MS celowo zablokował przycisk na czas aktualizacji...? Bez żadnego "watchdog"`a będzie tak "wisieć"... http://www.elektroda.pl/rtvforum/topic31... Jeśli wiesz jak się za to zabrać możesz zresetować CMOS. Aktualizacja...
No ok, ale to z watchdogiem dużo wspólnego nie ma... Potrzebny reset - to wystarczy skoczyć do 00h... Jeśli będzie w przerwaniu od timera - to jasne, będzie działał jak watchdog, ale do czasu jak się zawiesi program.. Jeśli program zawiesi się - bardzo prawdopodobne, że do przerwania nie wejdzie. "Normalny" watchdog natomiast zresetuje procesor, gdyż...
po zakończeniu obsługi przerwania procesor przeskakiwał do konkretnego miejsca w kodzie? W ilu miejscach tego kodu musiałbyś wstawić te "przeskakiwanie"? ;) Nie będziesz w stanie z góry stwierdzić, w którym miejscu to przerwanie wystąpi. Ale gdybym wstawił jakiś znacznik na początku loop() to wracałby na początek kodu po każdym przerwaniu. Niby taka...
(at)mzielin może i masz racje z tym watchdogiem (szczerze myślałem że się bez niego obejdzie :) ), jednak chyba nie umiem go prawidłowo zaprogramować, a mianowicie: void reset(void) { asm("cli"); //na wszelki wypadek asm("wdr"); //reset flagi WDRF w rejestrze MCUSR //nie ustawiam bitów WDP0..3, ponieważ...
Witam. Mam problem z konfiguracją w watchdoga w tym procesorze. Z dokumentacji wynika że po resecie programatora sam watchdog powinien go ponownie zresetować po ok. 16s. W moim przypadku tak sie nie dzieje. Również próby ustawienia innego czasu zadziałania nie dają pożądanego efektu. Pisze w WINARM i uprzedzając pytanie w pliku Cstartup_SAM7.c wyrzuciłem...
Witam Na początek programu wpisz: #include <avr/wdt.h> // modul -> Watchdog (C:\WinAVR-xxxxxxxx\avr\include\... Zakładam, że używasz kompilatora WinAVR. A w module Watchdog masz: //--------------------------------------... /* Watchdog #define wdt_reset() __asm__ __volatile__ ('wdr') #define wdt_disable() #define...
Moze ten Pies musi ugryzc procesor (zresetowac) jak zasnie (zawiesi sie) :-) ?? Właśnie o to chodzi, jak psu nie dasz co troche kiełbasy to zrobi reset procka (interpretacja panów Gałków). Cały trik polega na tym że instrukcje resetu watchdoga muszą być wykonywane co jakiś czas bo inaczej procek się będzie resetować. Jeśli procek będzie wykonywać z...
Witam; Chciałem uśpić procesor w trybie Power Down. Pobudkę zaplanowałem po chwili na skutek zadziałania Watchdoga. Ponieważ w MEGA644p jest przerwanie od watchdoga, więc postanowiłem z niego skorzystać .Mój tok myślenia jest nastepujacy: 1) Uśpienie w POwer Down z włączonym wdt 2) Watchdog się przepełnia, budzi procesor 3) Procesor budzi się i wskakuje...
Nie rozumiem dlaczego nie możesz skorzystać z resetowania przez watchdoga. Potrzebujesz w pewnym wybranym momencie zresetować procek - tak piszesz, zatem w tym momencie zatrzymaj program aby watchdog zadziałął i po sprawie . Jeśli trzeba to wyłącz również w tym przypadku przerwania. Najlepiej zrobić to w niezależnej procedurze.
Zastanawiam się czy się układ nie uszkodzi, gdy procesor np. się zawiesi z wyjściem +5V, gdy głośnik jest podłączony do masy Dlaczego miałby się zawiesić? A nawet gdyby, od tego masz w nim watchdog, by się zresetował. A co do prądu pinów, tu znajdziesz cykl artykułów o tym: http://mikrokontrolery.blogspot.com/2011...
Oki, już mam: Rezystor 10k do +5V i kondensator 1u do gleby. Watchdog jest niezależnym zespołem.
Jeszcze układ watchdog można aktywować jak się zawiesi to się zresetuję , czyta parametry z eepormu i tragedii nie będzie ;)
W moim przypadku procek działał poprawnie, ale i tak w programie był włączony watchdog i w razie czego zresetowało by sterownik. Co do wyświetlaczy chyba najczulsze są niebieskie z białymi literami ...
Witaj ponownie, W dokumentacji atmela znalazłem notę cyt: SRCMP: Software Reset Command in Progress 0 = No software command is being performed by the reset controller. The reset controller is ready for a software command. 1 = A software reset command is being performed by the reset controller. The reset controller is busy. Może warto by było sprawdzić...
A moze wykorzystać do tego watchdoga? Tylko jak to zrobić...
Według opisu watchdoga najdłuższy możliwy czas do resetu procesora to około dwie sekundy. W związku z tym mam pytanie: Czy jeśli w pętli głównej lub podprogramie mam umieszczoną funkcję "Wait" o czasie trwania np. 3 sekundy, to watchdog w tym czasie zresetuje procesor czy nie? Krótko mówiąc: czy funkcja Wait blokuje licznik Watchdoga? A może trzeba...
Nie warto by pomyśleć nad poprawnym zaprogramowaniu samych PIc'ów, tak żeby się nie "zapychały", a może dodać jakiegoś watchdoga do programu?
Nie ukrywam, że to moje pierwsze zetknięcie z bootloaderem dla AVR (nie stosowałem). Pewien sterownik działa w sieci RS485. Mogę się do niego zalogować, i wydawać polecenia tekstowe. Chciałbym by jednym z nich było "upgrade" po którym nastąpi wywołanie pętli, która skończy się tym, że watchdog zresetuje procesor. Po resecie włączy się bootloader, który...
Faktycznie, Arduinowa funkcja map() operuje tylko na liczbach całkowitych i liczby rzeczywiste są konwertowane na całkowite przed przekazaniem do funkcji map(). Tak na przyszłość: Jeśli mikrokontroler steruje istotnym urządzeniem (a wentylator chłodnicy silnika taki jest), to koniecznie należy użyć watchdoga, aby w przypadku zawieszenia mikrokontrolera...
No może bardzo nie urośnie, ale mi jest łatwiej po prostu zresetować przez AIRCR albo watchdogiem i nie muszę się zastanawiać, co mam indywidualnie poresetować, bo resetuje się samo i wszystko w każdym mikrokontrolerze każdego producenta.
Witam. Jest jeszcze jeden bardzo dobry sposób na reset. Mianowicie uruchamiasz watchdoga, w programie zerujesz go cyklicznie - np. na przerwaniu timera. Jeśli chcesz zresetować uC - nie zerujesz watchdoga, jego licznik się przepełnia i masz czysto sprzętowy reset. Korzystam z takiego rozwiązania i do tej pory mnie nie zawiodło. pozdr, JnS
Witam O wiele prościej zachowywać znacznik w pamięci EEPROM (po włączeniu ustawiamy go na X, a przed wyłączeniem na Y i jeśli status po włączeniu jest X to wiemy, że zdarzył się nieprogramowy reset) RAM jest kiepskim wyznacznikiem czy był reset, zdarzają się sytuacje, że nie zostanie zresetowany (nie właczany BOR, POR, watchdog)
Witam ! Buduję urządzenie w oparciu o Atmega644 w Dip'ie. Przez ostatnie dwa tygodnie "padły" mi cztery sztuki. Programuję je z poziomu Bascom'a, za pomocą Sample Electronic Programmer. Mam tylko przewody do LPT. Przez dwa lata używania nie zdarzył mi się ani jeden taki przypadek, na innych procewsorach. Teraz na tym procesorze jest to masowe. Przy...
Witam, podpowiedzcie mi jak wykonać wymuszony reset mojego urządzenia. Najlepiej nie korzystając z watchdog. Może to być dla Atmegi8, 32 czy 644p. Jak wymusić "poleceniem" zresetowanie się urządzenia. Najlepiej bez kombinacji z wyprowadzeniem reset. Radek
Gorzej jak się "rozflasi" procedura liczenia CRC ;) widze ze dla ciebie prawdopodobne jest, ze uszkodzi sie akurat tak, ze bedzie cos tam liczyc i nawet zwroci wynik wskazujacy na to, ze flash jest poprawny... no tak, prawdopodobienstwo jest... bezsensu... Widzę, że niektórzy czytają białe na białym, można i tak. Ponieważ nadal co poniektórzy udają,...
rejestry sa typu R/W wiec użytkownik "może wszystko". Taki sposób jest najbardziej wskazany również do testowania procedur przerwań - żadne tam go to "gdzieś tam" tylko ustawienie odpowiedniej flagi w odpowiednim rejestrze. A byłby kolega łaskaw podawać źródło własnych informacji i np. stronę ? Jakoś nie moge się dokopać do takich informacji (doc2512.pdf...
W sumie fajnie że ktoś jeszcze używa bramek :) , ale obawy o zawieszenie się procesora są bezpodstawne. Do tego stosuję sie watchdog, który w takim wypadku od razu go zresetuje.
A w którym miejscu napisałem, że WatchDog nie jest potrzebny?. Chodzi mi tylko o to iż 100% wiara w to, że system się zresetuje za pomocą jedynie zaimplementowania w systemie WatchDog'a jest nieporozumieniem. I nie ma tu żadnego znaczenia gdzie ten WatchDog będzie (na zewnątrz czy w uP) w chwili, gdy do ożywienia układu nagle trzeba "restartować" zasilanie...
No ale Panowie jeśli Watchdog daje radę podnieść procesor po zawieszeniu to po co mam szukać buga w programie? Czy nie jest tak że po zawieszeniu się programu watchdog resetuje procesor i ma być on znów włączony od początku poprawnie? Jeśli tak i jeśli mam nawet buga w programie to mimo wszystko sterownik nie powinien umierać jak ma to miejsce u mnie....
Reset w uC może nastąpić z kilku przyczyn. Są to między innymi zanik zasilania lub watchdog. AT89C2051 nie ma układu watchdoga, więc nie da się go inaczej zresetować niż hardware'owo. A do czego Ci to potrzebne ? Może da się to zrobić inaczej ?
I jeszcze jedno - WŁĄCZ watchdoga !!!!! Jak nie zatrybi na początku to sie procek sam zresetuje i wystartuje raz jeszcze. Ustaw maksymalny czas w preskalerze watchdoga tak aby wystartował jak najpóźniej.
Jeśli zastosuje się tranzystor PNP do sterowania przekaźnikiem (np darlington BC516) i podciągnie jego bazę rezystorem ~3k do +Vcc wyeliminuje się ryzyko otwarcia zamka przy zawieszeniu uC. Dodatkowo można nim sterować przez transoptor jakiś z izolacją na kilka kV ;) Pozatym, jest watchdog, który może praktycznie natychmiast zresetować uC po zawieszcze...
nie wiem czy rozumiesz idee działania watchdoga. Program wyskoczy z pętli do loop i się zresetuje a nie pójdzie dalej. A jęsli chodzi o te procedury co opózniają ci watchdoga to zapewne jak byś zaglądnął do ich wnętrza to zobaczyłbyś zapewne kasowanie watchdoga.
Stan procesora sprawdzam podglądając pin procesora (cyklicznie zmieniany), po zawieszeniu wszystkie piny przechodzą w stan HiZ. W procesorze uruchomiony jest BOD (Brown-out Detector) - układ nadzoru zasilanie - gdy zasilanie spadnie poniżej 4,0V to układ jest w stanie resetu. Przypominam że ze stanu zawieszenia/zatrzaśnięcia nie da się wyprowadzić procesora...
Lokalizacja to biurowiec i routerków ci tam pod dostatkiem :) Więc warto kupić LOCO M5 na 5GHz, urządzenia są bardzo stabilne i proste w konfiguracji. Zawsze możesz skonfigurować watchdog-a. który przy braku komunikacji zresetuje urządzenie.
Co do detekcji początku ramki - od tego jest sygnał SS, on też określa konie. Aktywacja SS określa początek, a deaktywacja koniec nadawanej ramki. Tak, jest jak piszesz ale co w przypadku gdy chcę mieć dłuższy bufor danych niż ramka? Dlaczego mogę potrzebować bufora, a to dlatego, że jeżeli procesor wyświetlacza włączyć się później/ zostanie zresetowany...
Jeżeli chcesz resetować układ to podłącz przycisk. Jeżeli chcesz aby w wyniku zakłócenia (zawieszenia się) sam się zresetował użyj watchdog'a.
Można też skorzystać z Watchdoga i co jakiś czas po prostu nie zresetować jego licznika.
Jesli nie zależy Ci na bardzo szybkim resecie (czytaj szybszym niż po 16ms) to możesz odpalić Watchdoga, który się przepełni i zresetuje procka.
Wprowadziłem pewne modyfikacje do kodu, po wypróbowaniu go przez kilka dni i sprawdzeniu, w jaki sposób firmy użyteczności publicznej przetwarzają rozliczenia netto. Działa to w następujący sposób: Liczniki AC nadal zgłaszają wszystko, co przez nie przechodzi. Nie mają możliwości uśredniania mocy. To, co robią, to zgłaszają odczyty liczników do dostawcy...
Witam Wlaczenie watchdoga to ustawienie 2 bitow i prescalera, zobacz w datasheet co odpowiada za watchdoga. Jesli trzymanie klawisza zawiesza procesor to program jest zle napisany.
Pytanie ogólne, ale mam problem podczas pisania programu na dspic30f4013. W asm tego problemu nie było, a w C programuję od niedawna i nie wiem jak rozwiązać problem utraty zmiennych po resecie procesora. Po zresetowaniu (np. od zakłóceń, watchdoga) zmienne są na nowo deklarowane i urządzenie zamiast kontynuować pracę zachowuje się tak jak po włączeniu....
Witam Wszystkich!!! Potrzebuję dobrego układu który robiłby jako zewnętrzny watchdog, a mianowicie mikroprocesor na jedna z nóżek podawałby impuls co 5 milisekund który zresetuje pożądany układzik, jeśli podany impuls nie wystąpi w przeciągu tego czasu to zbudowany watchdog poda krótki impuls na reset procka. Fajnie i ciekawie to może działać,ale na...
Sprawdź schemat czy zmiany wprowadzone są po Twojej myśli . Nie bardzo rozumiem ten kawałek schematu który zaznaczyłem szarym kwadratem . Dokładnie sprawdź czy wszystko pasuje to wtedy pomyślimy o płytce PCB . Schemat jest jak najbardziej po mojej myśli ;) Co do pinoutów do ledów i pk to wybrałem je tylko dlatego aby łatwiej było to na PCB rozplanować...
Nie popełnisz błędu ale dodasz element, który w zasadzie niczemu nie będzie służył. Pisząc o programowym resecie, chodziło mi o programowe generowanie sygnału resetu dla zewnętrznego urządzenia ATAPI. ATMegi nie potrzebują żadnych układów generowania resetu, same się resetują po podaniu zasilania i posiadają sprzętowe układy BOD oraz Watchdog, które...
:arrow: Osmo Nie widzę sensu istnienia zmiennej pinx_value. W pętli przypisujesz do niej wartość PIND, a później nic z tym nie robisz. Podejrzewam, że kompilator w procesie optymalizacji i tak tą zmienną usunie (nie jest potrzebna). :arrow: mystre Skoro ma to być dłuższy czas (minuta). To możesz sobie zagnieździć pętle: for(;;) { for(;;)...
Pociagniecie dodatkowej 3 linii ktora by wyzwalala przerwanie w masterze, i efetem tego byloby zeskanowanie danej magistrali. A to po co. Jeśli potrzeba fizycznie zresetować terminale, to wystarczy watchdog. Każdy inny "reset" można przesłać po liniach danych. Problem master, multimaster, token pasing itp.. to jest problem filozofii działania Twojej...
Witam ponownie No ja walczę z całym kodem, żeby go trochę zoptymalizować, ale nie bardzo się daje. zajęte 77% a nie mam konwersji danych z sht11 jeszcze zrobionych, coś mi się wydaję, że będzie trzeba się przesiąść na M32. Przykładem może być np. zapis temperatury z dokładnością do jednego miejsca po przecinku. Przecież wystarczy do tego zwykły, dwubajtowy...
Witam Mam problem z odczytaniem źródła resetu, a konkretnie tylko resetu od watchdoga. Napisałem specjalnie prosty program: Cls : Cursor Off Dim Count As Word Start Watchdog Lcd Mcusr 'pokaż źródło resetu Mcusr = 0 Do 'Pokaż, że uC nie został jeszcze zresetowany Incr Count Locate 2 , 1 : Lcd Count Waitms 500 Loop Jeżeli zresetuję µC przez...
Musisz to zaprogramować, bo GET/PUT tylko wypełniają tablice, które po utracie komunikacji pozostają w stanie niezmienionym. Dodaj do bazy wymiany np.: watchdog (licznik, który zwiększa się w kółko np.: 0-1000) po wykryciu braku zmiany ustawiaj wyjścia na żądany stan.
Nie wiem czy do końca mnie zrozumiałeś. Serwer HTTP ma limit czasowy wykonywania kodu PHP. Domyślnie wynosi on jakieś 90 sekund. W normalnych warunkach nigdy nie zostaje przekroczony. Jednak w przypadku pracy z bardzo dużą bazą danych, zapytanie do niej trwa po kilka sekund. Sama sieć internetowa też ma spore opóźnienia, szczególnie na zadupiach zdarzaja...
Nie wiem jak to jest konkretnie w AT90xxx a zwłaszcza a Bascomie, ale mogę Ci powiedzieć na czym polega sama idea. Jeżeli to coś to ma być pilot to wystarczy, że od czasu do czasu sprawdzi stan przycisków i wyśle gdzieś jakiś rozkaz. Oznacza to, że w pozostałym czasie urządzenie jest bezrobotne i może iść spać. W większości nowoczesnych procków jest...
Witam Wyświetlacze ze wspólną katodą są coraz trudniej dostępne w sklepach. Układ ULN idealnie nadaje się (bez żadnych dodatkowych elementów poza oczywiście rezystorami) do sterowania wyświetlaczami ze wspólną anodą. Można go podłączyć bezpośrednio pod port - wszystkie osiem wzmacniaczy prądowych czyli sterować także kropką w wyświetlaczu albo też podłączyć...
Układów typu 555 czy 123 bym raczej nie stosował, już lepiej jakiś dedykowany układ lub jakiś mały mikrokontrolerek który zresetuje głównego procka gdy np nie odbierze poprawnej ramki po uart-cie.
z tego co wiem programowo tego się nie da zrobić(jakimś poleceniem)..najlepiej wykorzystać watchdoga(tego z bascoma).. a najlepiej chyba sprzętowego watchdoga. Bo rozumiem, że chcesz żeby się resetował jak się zawiesi ? Czy po co w ogóle?
jeśli nastąpi reset to i tak mam zresetowane wszystkie rejestry prócz licznika watchdoga więc to chyba nie problem, mój program po przejściu w tryb uśpienia nie musi pamiętać danych w RAMie. Przepisze program wg rad i wrzuce jutro na procka, zobaczymy co on na to :) Dziś zajmuję się innym projektem 9 a przynajmniej miałem takie nadzieje) Pozdrawiam...
Zewnętrzny watchdog to dość prosty układ - są specjalizowane układy, ale można też użyć po prostu timera, który resetuje się jednym wyjść procesora. Jak się nie zresetuje, to robi np odcięcie zasilania na chwilę.
mikroprocesor watchdog watchdog resetuje opcja watchdog
h2testw karta wąskie gardła zamek kabina
czarna lista gitara akustyczna
Pilot RC1243B do telewizora Akai - identyfikacja i problemy Przygasanie świateł w Skoda Octavia 2 po regeneracji alternatora