Wybudzaj przerwaniem watchdoga nie resetem. Ja bym to zrobił tak (w C, w bascomie pewnie też tak się da): W głównej pętli: - konfiguracja watchdoga z przerwaniem na jak najdłuższy czas- - wejście w power down - pętla nieskończona z ciągłym przechodzeniem do idle. W przerwaniu watchdoga: - wyzerowanie watchdoga - inkrementacja zmiennej odliczającej od...
podciagnoles cos do pinu reset?
(...) Ktoś potrafi ocenić czy to problem z softem czy sprzętowy, może ktoś miał z takim komunikatem do czynienia? Może być sprzętowy (moduł PPC) lub programowy (ataki).
Mozesz sprobowac za pomoca watchdog'a. Wada jest to ze reset nastapi dopiero po min. 16ms Config Watchdog = 16 Start Watchdog watims 20 'oczekiwanie na reset z watchdoga Masz do dyspozycji jeszcze polecenia: Stop watchdog - zatrzymanie Reset watchdog - kasowanie Zamiast 'waitms 20' mozesz tez dac jakies polecenie "usypiajace" procesor (IDLE, POWERDOWN)
1. TJAxxxx losowo wysyła jakieś ramki do procka powodując błąd software i reset wewnętrznego watchdoga 2. TJAxxxx odbiera po sieci info nakazujące reset IPC 3. TJAxxxx robi coś czego konstruktor nie przewidział i robi w/w ;) to razem z 300 pkt ;P nie przelewaj tych 100 , mam chyba zapas :) tak na poważnie, do tego licznika idzie niewiele sygnałów, wypinuj...
Wstaw Reset Watchdog w pętlę główną i w podprogramy, funkcje itp., tam gdzie program może się zatrzymać na dłuższy czas. Jeśli masz instrukcję np. Wait 3 to zmień ją na Reset Watchdog: Waitms 1500: Reset Watchdog: Waitms 1500: Reset Watchdog Reset Watchdog powoduje, że czas do resetu jest odliczany od zera.
No to jest to czego szukałem. Tylko teraz pytanie: Dlaczego zawartość rejestru R0 to zawiera,a nie można odczytać z MCUCSR jak jest opisane w DSie?? edit Aaa już wiem gdzie robiłem błąd. Można odczytać WDRF moim sposobem tylko przed Config Watchdog, bo ta instrukcja czyści rejestr MCU(C)SR. Wszystko pięknie jest wyjaśnione w Helpie od wersji 2.0.1.0...
Tak oczywiscie reset podciagniety. Okrojony do minimum program: $crystal = 7372800 $regfile = "m168def.dat" Config Aci = Off Config Lcd = 40 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.0 , Db7 = Portb.1 , E = Portb.4 , Rs = Portb.5 Config Timer1 = Timer , Prescale = 64 On Timer1 Timer1_int Config Pinc.4 = Input '...
Inteligentna wtyczka z chipem BL602 i oprogramowaniem układowym 1.17.669 ma losowe resety watchdoga. Przyczyna ponownego uruchomienia: BL_RST_SOFTWARE_WATCHDOG Dzieje się to bez żadnego działania / dostępu do urządzenia. Czy ktoś zna ten problem? Jak mogę debugować, aby znaleźć przyczynę? Czy openbk może wysyłać syslog? Btw czy jest możliwe skonfigurowanie...
Zbudowałem ostatnio kilka urządzeń z wykorzystaniem pinu WR wyświetlacza. Ta biblioteka nie jest szczęśliwa. Jest dużo nowsza i w dodatku z możliwością użycia dowolnych pinów biblioteka. Jest włączana automatycznie jeśli jako ostatni parametr/pin napiszesz WR = PIND.3 (przykład) Użyta zostanie biblioteka "lcd4busy_anypin" Przykład z moich kodów: Zapomniałem...
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...
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...
Czy ATmega8535 ma tylko mierzsyć napięcie i wysyłać? Jeśli tak to po co taki duży uK do tego? :) Program może wyglądać tak: $regfile = "m8535.dat" $crystal = 16000000 $hwstack = 32 $swstack = 10 $framesize = 40 Dim W As Word Config Watchdog = 2048 Start Watchdog Reset Watchdog Config Adc = Single , Prescaler = Auto , Reference = Internal Start...
Mały apel do co niektórych : Swoje wstawki emocjonalne zachowajcie dla ludzi we własnym otoczeniu, bo nikogo na tym forum nie znacie dostatecznie dobrze, aby wyrazić o nim rzetelną opinię, a stwarzać sobie nowych nieprzychylnych dla kilku krótkich i pozornych chwil poczucia dowartościowania nie ma sensu... Raczej starajcie się wyrażac rzeczowo i czytelnie,...
Zamieniłem Atmega8 procesor Atmega168 i po resecie watchdoga, program się zawiesza procesor nie reaguje na zewnętrzny reset dopiero po odłączeniu zasilania i włączeniu ponownym układ działa poprawnie do ponownego resetu watchdoga. Czy może ktoś się z tym uporał, bo ja wypróbowałem już wszystko, co mi przez parę tygodni przyszło do głowy... Zamieszczam...
Aplikacja i reset watchdoga działa na standardowym bootloaderze, zawiesza się przy wywołaniu resetu przez watchdoga tylko na AVR231 bootloader. Bez usunięcia fragmentu kodu z deklaracją dostaje komunikat, że ta funkcja jest już zadeklarowana w innym miejscu.
Witam, Program w zasadzie jest ok, jedyne do czego bym się doczepił to umieszczenie polecenia "Start Watchdog" w głównej pętli programu, zamiast przed, a w pętli tylko polecenie "Reset Watchdog". Po drugie widać, ze za bardzo nie zależy Ci na oszczędności prądu (zegar 8MHz) to ja bym nie wyłączał przetwornika adc, bo po włączeniu pierwszy pomiar jest...
Niepotrzebnie kombinujesz z pinami. Wystarczy że odpalisz watchdoga, na minimalnym liczniku i poczekasz chwilkę, watchdog zaserwuje prockowi odpowiedni sprzętowy RESET. Chyba że procek nie ma watchdoga (napisz jaki to procek, bo 8bitowe nie mają PB.8) ale watchdog pewnie w nim siedzi
W wielu nowszych AVRach jeśli watchdog był źródłem resetu to zostaje włączony automatycznie, bo bit WDE jest ustawiany tak jak WDF z rejestru MCUSR. Pozostałe bity rejestru WDTCSR są wyzerowane, a to oznacza, że ustawiony jest minimalny czas. Wyłączenie watchdoga należy wykonać przed funkcją main. Służą do tego sekcje .initx. Ponieważ będzie to funkcja...
Wygląda jak reset z watchdoga.
Dostosuj do swoich potrzeb i spróbuj tego: Dim I As Byte Dim J As Byte Dim K1 As Byte Dim K2 As Byte Dim K As Byte Dim Flaga As Byte Dim Pomoc As String * 2 Dim Pomoc2 As String * 1 Dim Dlugosc1 As Byte Dim Dlugosc2 As Byte Dim Numer_tel As Byte Dim Komunikat As String * 80 Dim Numer_gsm As String * 13 Numer_gsm = "48604604604" ' tu wpisz...
Ok, więc poszperałem z moim multimetrem (jutro poszperam z oscyloskopem i analizatorem logicznym), 5-pinowy port wyglądał bardzo interesująco. Pin1: 3V3 Pin2, 3: podciągnięty nisko Pin4: GND Pin5: Przeciągnięty wysoko Jak mogę zidentyfikować za pomocą analizatora logicznego, który port to TX? Zgaduję, że powinienem otrzymać jakieś dane wyjściowe podczas...
telekomuna - zajmuje sie mikrokontrolerami wiem jak działa watchdog :) chodziło mi o to że program nie resetuje (zeruje) rejestru watchdoga przez co on sie przepełnia i generuje reset, jak napewno wiesz, watchdog jest licznikiem zliczajacym cały czas impulsy (jakie zalezy od ustawien rejestrów preskalera) programista powinien systematycznie w programie...
Watchdoga musisz kasować co chwilę Nie musi. Po resecie program ma wstać a w tym przypadku kontroler się zawiesza.
Jeśli piszesz w WinAVR i otworzysz plik w asemblerze to zobaczysz, że każde nie używane przerwanie prowadzi do resetu. Nieużywane tzn. nie posiada funkcji obsługi przerwania. Przerwanie takie od np. przepełnienia timera może nastąpić jeśli zostanie odblokowane, ale jak mówisz w tym przypadku to nie to. Możesz po prostu wyłączyć watchdoga i upewnić się...
Kilkanaście mega przez modem jest zdecydowanie złym pomysłem. Zajęło by to kilka godzin i nie wiadomo czy transmisja nie zostałaby zerwana. Na 99% wymiana softu rozwiąże problem.
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ć...
Witam; mam pewny dylemat. Zastosowałem watchdoga z największym preskalerem /1024. W Atmega644P licznik watchdoga jest taktowany z częstotliwością 128KHz. Czy zatem reset watchdoga nastąpi po 1024/128000 sek , czyli co 8ms? Czy nie da się ustawić go aby się kasował po kilku sekundach?
A skąd wiesz, że się nie wykonuje? Jedyne co widzę, to to, że w przerwaniu zerujesz wyzerowany port. To raczej trudno zauważyć.
https://obrazki.elektroda.pl/2034175900_... Wczoraj wczesnym rankiem (tj. niedziela) tak sobie leżałem oglądając TV i pomyślałem, że przydałoby się zaświecić światło w pokoju, ale strasznie nie chciało mi się wstawać… Tak powstał pomysł na oświetlenie sypialni sterowane pilotem IR. ;) https://obrazki.elektroda.pl/6206372600_...
Potrzebny mi timer z wyzwalaczem i przerwaniem na ATmega. Takie rzeczy robi sie programowo, albo programowo wydłużając czas zliczania timera sprzętowego w mikrokontrolerze, można też z uzyciem przerwań. Dlaczego chesz to zrobić całkowicie sprzętowo, obawiasz się o to że program przestanie poprawnie pracować? czy nie wiesz jak to zrealizować w programie?...
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ą...
Domyślnie jeśli Watchdog jest włączony cały czas to po resecie ma domyślnie ustawiony czas 16ms (bity WDP2..0 w rejestrze WDTCR są zerami) Zatem układ wciąż ci się resetuje po pierwszym przebiegu. Żeby się tego pozbyć wklej sobie przed funkcją main() coś takiego static void __init3( void ) __attribute__ (( section( ".init3"...
Miałem ten sam problem. Pół dnia szukałem błędu, myślałem, że to hardware, ale to było bez sensu, bo po dołączeniu zasilania działało, a po resecie watchdoga zawieszka (ciągłe resetowanie). Okazało się, że po resecie watchdog nadal działa i to z najmniejszym czasem zadziałania (około 15ms) i nawet jak dawałem w main() wdt_disable() to nie pomagało....
...zazwyczaj takie funkcje mają w "sobie" reset licznika watchdoga pzdr.
A więc to nie jest reset :( :(, może ktoś wie jak wywołać Reset programowy bez udziału watchdoga??
Wygląda na to, że wewnątrz funkcji delayms() siedzisz za długo. Jak nie wykona się o czasie reset watchdoga, to on sam resetuje ci procesor i po opóźnieniu. Spróbuj na krótkich czasach opóźnień i jak będzie w porządku to zacznij kombinować co robić.
Już śmiga. Nasuwa mi się jednak takie pytanie niezwiązane z tematem. Jeżeli dodam do tego układu WATCHDOG to co z moimi zmiennymi ?? Tzn czy jezeli mam zmienna wartosc1 która sobie jakoś na buttonach ustawiłem wartość po resecie WATCHDOGa wszystko się wyzeruje ?? Jezeli tak to jak zachować pamięć (niezewnętrzną)
Jeśli WD ma być "tylko" do budzenia to się zgodzę. Przyzwyczaiłem się WD zostawiać sobie też dla bezpieczeństwa aplikacji. If WDE is set, the Watchdog Timer is in Interrupt and System Reset Mode. The first time-out in the Watchdog Timer will set WDIF. Executing the corresponding interrupt vector will clear WDIE and WDIF automatically by hardware (the...
Witam! chciałbym użyć watchdoga w mojej aplikacji. Program działa tak, że jest sobie pętla główna programu i wykonywane są w niej pewne rzeczy a pozostała część działa na przerwaniach. Watchdoga chciałbym resetować w pętli głównej tak aby zawieszenie programu w procedurach obsługi przerwań również powodowało resetowanie procesora. Problem jaki napotkałem...
Po pierwsze takie numery to prawdziwy horror: [syntax=basic4gl] Alarm = 1 Waitms 200 Reset Watchdog Alarm = 0 Waitms 200 Reset Watchdog Alarm = 1 Waitms 200 Reset Watchdog Alarm = 0 Waitms 200 Reset Watchdog Alarm = 1 Waitms 200 Reset Watchdog Alarm = 0 Waitms 200 Reset Watchdog Alarm = 1 Waitms 200 Reset Watchdog Alarm = 0 Wait 1 Reset Watchdog Wait...
Powinieneś tak napisać program, aby taki reset nie był potrzebny a jeśli upierasz się przy tym to wykorzystaj WATCHDOGa.
Watchdog - to układ czasomierza zerowanego programowo, np. odpowiednim rozkazem procesora. Rozkaz ten umieszcza się np. w głównej pętli programu lub podprogramie, który ma być wywoływany okresowo. Jeżeli z jakiegoś powodu (np. zakłócenia) program pójdzie w maliny to licznik watchdoga nie zostanie wyzerowany i zostanie wygenerowany sygnał RESET procesora...
Witaj, Co - ponownie napiszę - jest BARDZO głupie! Dlaczego? Bo gdy w momencie soft-resetu były włączone przerwania, DMA albo inne peryferia, to... nikt nie wie co się stanie (; Nie twierdze że to jest najlepsze rozwiązanie i najpiękniejsze. Zaznaczyłem w swojej odpowiedźi gdybyś sobie nie poradził. A poza tym to przecież przed wykonaniem instrukcji...
Jak juz chcesz wybudzac watchdogiem to popraw program tak aby omijany byl fragment programu inicjalizacji LCD po resecie od watchdoga a od innych resetów dzialał normalnie.
... i mimo wszystko pokaż wreszcie schemat. Przynajmniej odrzucimy sprzętowy problem gdy będzie OK, bo skoro reset nie z Watchdoga: Nawet sprawdzam na początku programu czy reset pochodzi z watchdoga, ale tak nie jest. to z czego? Więc dodam jeszcze jeden link: Reset niekontrolowany
Dlatego pytam, czy po resecie (watchdog-owym) wszystko startuje od zera, włącznie ze stosem? tak.
Sprawa nie jest trudna. Jako odbiornik dajesz moduł 433 MHz + mikrokontroler ( i diody sygnalizujące). Jako nadajniki moduły 433 MHz + mikrokontroler. Całość jest sprawdzana przez nadajnik np. co sekundę ( reset watchdoga). Jeśli nastąpi naruszenie którejś ze 'stref' wtedy nadajnik kilkukrotnie informuje o tym drogą radiową. Mało prawdopodobne jest...
A jeśli "pętla główna" jest właśnie w przerwaniu a w mainie program nie robi nic ( while(1){} zaraz po inicjacji peryferiów ) albo nie robi nic ważnego? A gdzie ląduje program po skończonym przerwaniu? Gdzieś ten reset wachdoga trzeba dać. mianowicie watchdog nie resetuje urządzenia. Jakie mogą być tego przyczyny? Ewentualnie, czy ktoś ma jakąś wskazówkę,...
Witam Chciałbym wreszcie zacząć używać watchdog`a w swoich programach, ale do tej pory miałem problemy ze zrozumieniem go (może nadal mam) Proszę na podstawie poniższego pseudokodu odpowiedzieć czy prawidłowo jest umieszczony w kodzie ?? $noramclear 'dyrektywa zapobiegająca wyzerowaniu zmiennych uzytych w programie Config Watchdog = 2048 'konfiguracja...
Przepisałem wedle swej wiedzy. Symulacja w AVR Studio 4 działa poprawnie, ale po zaprogramowaniu LED'y nie migają... Drogi kolego ucy74 , jeśli już coś robisz , to rób to dobrze , albo nie rób wogóle - nie mogłem się powstrzymać ;) Ustawiasz INT0 na wyzwalanie zboczem narastającym ,"usypiasz" proca snem głębokim (Power-down) i dziwisz się , że nie...
Dla konfiguracji resetowania się watchDoga po 4 sekundach : Mcusr = &B00000000 'Zerowanie rejestru aby wyłączyć bit 3 czyli WDRF. 'Dokonywanie jakichkolwiek zmian w WatchDogu musi dokonywać się w ściśle określonej sekwencji wpisów do rejestru 'WDTCSR. Jako pierwszy krok trzeba zrobić wpisanie wartości 1 do bitu numer 4 nazywanego WDCE.Pozostałe bity...
Mógłbyś odpalić watchdoga i żywić go przez 47 dni a potem zagłodzić bestię. To wywoła reset procesora.
Witam w internecie znalazłem następujący program. $regfile = "m16def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 Config Adc = Single , Prescaler = Auto , Reference = Internal Config Watchdog = 2048 Declare Sub Odcz_temp Dim Wart_nap...
Dlatego, że jak tego nie robię to wywala mi " Task watchdog got triggered. The following tasks did not reset the watchdog in time:"
Na początku programu sprawdzasz flagi rejestru MCUCSR. Jeżeli jest ustawiona flaga WDRF tzn. że watchdog wywołał reset. Inne flagi oznaczają inne przyczyny resetu. Poczytaj sobie str. 41 dokumentacji do ATMEGA8L.
Wprowadzić uC w tryb POWER_DOWN możesz zawsze, tylko jakie będą tego efekty, jak mówi datasheet: -zatrzymywany jest oscylator zewnętrzny - z trybu tego uC może zostać wybudzony poprzez zewnętrzny reset, reset od watchdoga oraz reset od układu Brown out detector,zewnętrzne przerwanie od INT0/INT1 - Ten tryb uśpienia w zasadzie zatrzymuje wszystkich generowanych...
Program startuje, ale zaraz po starcie ma odwolanie do podprogramu, ktory znajduje sie w dolnej czesci pamieci zajmowanej przez caly program i wowczas procesor szaleje i nastepuje reset watchdoga, wyglada mi to tak jakby do objetosci kodu 32768 wszystko bylo ok ale jak to przekrocze programator zle programuje koncowa czesc programu. Wrzucilem do ukladu...
Ten na przykład: http://www.tme.eu/pl/details/mcp100t-300... Sposób podłączenia masz w nocie katalogowej - noga reset idzie do nogi EN przetwornicy. Obecny dzielnik wyrzucasz, za do do nogi Vdd dajesz kondensator 100n.
Wiem że o watchdoga ;) Resety powtarzały się cyklicznie co około 0,5s, ewidentnie to wskazywało na watchdoga, tylko, że stwierdziłem, skoro go nie ustawiam to go nie ma. Dzięki jeszcze raz bardzo wszystkim :)
zobacz to może Ci sie $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portd.4 , E = Portd.3 , Rs = Portd.2 Config Adc = Single , Prescaler = Auto , Reference = Internal Config Watchdog = 2048 'reset wystąpi po 8192 ms 'Start Watchdog Declare Sub Odcz_temp Config Pinb.3 = Input 'porty...
Mam taki problem z PIC16F876A: chce wyslac odpowiednia informacje na lacze szeregowe gdy wystapi reset WDT. Prosty ponizszy kod coprawda powoduje, ze uklad sie resetuje (co ok 2 sekundy wysylane jest " start OK ") ale nie chce wyslac informacji o resecie watchdoga. Wg pdfa (ktorego prawdopodobnie zle rozumiem) bit TO jest zerem po restarcie WDT. Ale...
Witam wszystkich, mam napisany program do mierzenia napięcia, poprzez ADC wbudowany w atmege16, jednak nie wiem jak podłączyć pod procek jakieś źródło napięcia np. baterie. Gotowy program przedstawiam poniżej: $regfile = "m16def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7...
Rozumiem doskonale ale zrobiłem coś innego, mianowicie przy resecie watchdoga zmienne sie resetują ale można zdefiniować zmienna w ten sposób : [syntax=c] uint8_t cycle __attribute__ ((section (".noinit"))); [/syntax] Stan zmiennej jest zapamiętywany nawet po resecie watchdoga. Dlatego można zliczac cykre uruchomienia resetu. [syntax=c] int main(void)...
Może uściślę. Mamy dwa przypadki: 1. resetowanie, 2. zawieszenie się modułu pomimo włączonego domyślnie watchdoga. W obu przypadkach chciałbym aby esp po resecie mógł przeanalizować co się stało i odpowiednio zareagować (np. posłać odpowiednie dane do bazy). Szczególnie ten drugi przypadek jest bardzo istotny.
Reset od watchdoga jest sytuacją awaryjną. Pełne godziny wynikają z tego że tak monitor pokazuje. Nie uwzględnia minut. Jeśli na pierwszym slocie masz kartę ISDN to przełóż ją do innego, albo wgraj najnowszy firmware. Tam ten problem jest usunięty.
Roznica pomiedzy skokiem pod adres $0000 a reset przez watchdoga jest i to spora. Watchdog sprzetowo linie RESET na jakis czas aktywuje. Wtedy wewnetrznie wszystkie rejestry opisane w dokumentacji przyjmuja swoj stan poczatkowy. Przy skoku pod adres $0000 ciagle dzialaja przerwania, sa poustawiane rozne rejestry wczesniej zainicjalizowane wiec moga...
W ATmega... jedyne sensowny reset jest przez watchdoga poniweaż sam skok pod adres 0x0000 jest błędny gdyż te procki mają różne adresy RESET zależne od ustawienia fusesbit.
jeśli byłby to bug programowy to po resecie uC powinno znów działać tak?:) Niekoniecznie, również zależy od kodu - pamięć RAM nie jest kasowana, co więcej bardzo prosto jest obsłużyć powrót z reset-u watchdoga niezauważalnie dla użytkownika.
Witam! Przeszukalem forum mimo ze temat byl poruszany nie przedstawiono rozwiazania. Poszukuje schematu ukladu ktory odbieral by impuls co 5-10min z portu COM np i jezeli by nie odebral nastepowalby reset -np poprzez przekaznik- komputera. Czas potrzebny na wstanie systemu bylby wlasnie zawarty w tych 5-10min i nie potrzeba by bylo blokowac watchdoga...
CONFIG WATCHDOG = czas Start Watchdog i w kodzie: RESET WATCHDOG Czas w milisekundach po jakim układ WATCHDOG uaktywni sygnał reset procesora. Możliwe są wartości: 16, 32, 64, 128, 256, 512, 1024 oraz 2048. wszystko jest w helpie
Ten wynalazek robi dwie rzeczy: - monitoruje napięcie zasilające procesor, gdy spadnie poniżej określonej wartości - trzyma procesor w resecie. To gwarantuje prawidłowy PowerOnReset procesora. W przeciwieństwie do układów RC. Glitche na zasilaniu są także wykrywane i procesor nie zostaje po nich w stanie "jakimś nieprzewidzianym", tylko dostaje w łeb...
Witam. Ja pod WinARMem korzystałem z takiego czegoś i działało: unsigned int watchdog_timer; watchdog_timer=AT91F_WDTGetPeriod(20... AT91F_WDTSetMode(AT91C_BASE_WDTC,AT9... | (watchdog_timer & AT91C_WDTC_WDV) |((watchdog_timer<<16)... Funkcje AT91F_WDTGetPeriod i AT91F_WDTSetMode...
(at)osctest1 To jest odpowiedź do mojego postu czy innego? Nie pytałem się o procesor tylko zewnętrzego watchdog-a. Nawet nie chciało Ci się zajrzeć do PDF TPL5010 ( 35 nA ). Więcej prądu pobierze watchdog w STM32 niż ten układ, a procesor do tego układu to na pewno nie będzie STM32. I dodatkowo czas do 2 godzin. Ale punkty zaliczone !
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...)
Szperajac po internecie tez znalazlem informacje ze niektorzy uzytkownicy spotkali sie z podobnym problemem. No coz zawierzylem najwidoczniej wlasnej propagandzie i stracilem dwa dni na szukanie bledu w programie a nie w sprzecie ;) Teraz tez sobie zrobilem makro ktore robi mi porzadek na samym poczatku programu. Jakby sie tak zastanowic to racja ze...
Tutaj jest kod który mam od znajomego, tylko że on dokonuje 4 pomiary i co pomiar przełącza wyświetlacz na kolejny... Pomożecie mi przerobić ten program? Tutaj jest ten kod: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 =...
Osobiście nie ufam wewnetrznemu podciągnięciu na /RESET i dokładam 4,7-10kΩ do Vcc. Moje procedurki w petli głównej zerują również licznik watchdog-a w pętli głównej (plik Main.asm), który gdy osiągnie maksimum, resetuje mikrokontroler. Oprócz tego jest tam taki myk, że reset od watchdoga nie inicjalizuje zmiennych(danych w RAM, m.in. licznik "tyknięć"...
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...
W MSP430 jest ślad w postaci ustawionej flagi WatchDoga. I właśnie po niej można rozróżnić czy to był reset spowodowany watchdogiem czy zwykły start. Byćmoże u Ciebie jest podobnie z tą falagą.
Mam pytanie do doświadczonych kolegów. Mam urządzenie , które włącza się przez reset watchdoga co 128 ms. Działa przez kilka ms i znowu wchodzi w tryb powerdown. W cyklu , kiedy działa sprawdza stan baterii, z której jest zasilane. Chcę zrobić alarm wyczerpanej baterii, ale nie chcę , żeby sygnalizował stale, tylko np piknięcie głośnika i błysk diody...
Poległeś już na początku: Reset Watchdog Wait 5 Ustaw sobie też watchdoga na jakiś duży podzielnik, np 2048 jak masz. Rakiety nie budujesz i nie potrzebny ci szybki reset. Popraw wklejony program bo połowe linii w nim wyREMowałeś i nikt się nie będzie zastanawiał czy to przypadkowy "wyłącznik" czy tego ma tam nie być.
Dim I As Byte Dim J As Byte Dim K1 As Byte Dim K2 As Byte Dim K As Byte Dim Flaga As Byte Dim Pomoc As String * 2 Dim Pomoc2 As String * 1 Dim Dlugosc1 As Byte Dim Dlugosc2 As Byte Dim Numer_tel As Byte Dim Sms As String * 47 Dim Numer48 As String * 12 Dim Telefon As String * 10 Telefon = "604604604" Sms = "OK" Wyslij: Numer48...
Dobra nie będą Cię więcej męczył tylko powiem. To nie będzie reset. Podczas sprzętowego resetu są asynchronicznie resetowanie wszystkie rejestry specjalne. Czyli piny są ustawiane jako Hi-Z, Timery są zatrzymywane, ADC/I2C/SPI/UART zatrzymywane, przerwania wyłączane itd. itp. Skok pod adres 0 nie zrobi tego. K***a. Nic nie zrobi. Żeby to zrobić trzeba...
Da się zrobić to bez resetu - praktycznie zawsze da się, tylko trzeba zmienić ideę działania program. Reset jest mało eleganckim sposobem rozwiązywania takich problemów. Przeznaczenie: Konfiguruje opóźnienie zadziałania układu WATCHDOG. Składnia: CONFIG WATCHDOG = czas gdzie: czasczas w milisekundach po jakim układ WATCHDOG uaktywni sygnał...
To co chcesz zrobić jest niesamowicie skomplikowane, więc jeśli nie masz wielkiej potrzeby tak robić, to może warto rozważyć ten programowy reset - na przykład poprzez watchdoga - program po restarcie sprawdzałby co spowodowało reset i jeśli był to watchdog, to znaczy, że powinien zrobić coś innego niż po zwykłym resecie. To jest rozwiązanie o wiele...
No dobrze powiedzmy że tak ma być i już. A czy może mi ktoś powiedzieć jak zmienić nazwę tego modułu? Mam oryginalny program do tego kitu AVT a w nim fragment który zmienia nazwę urządzenia: Reset Watchdog Print "A"; Waitms 50 Reset Watchdog Print "T"; Waitms 50 Print "N"; Waitms 50 Reset Watchdog Print "="; Waitms...
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 posiadam napisany program w języku Bascom. Mój problem wiąże się z tym że mam problem z jego kompilacją a dokładniej z jedną linijką programu. Czy może mi ktoś pomóc wyeliminować ten błąd. Bascom wskazuje że błędem jest Dim Wart_nap As String * [syntax=basic4gl] 'dopisałem funkcja wathdog czyli autoreset gdy procesor nir odpowiada dłużej niż 2...
Witam. Ostatnio kupowałem MB3773. W jednym układzie masz Watchdoga i nadzorowanie napięcia, wyjście reset oraz reset zanegowany. Polecam.
No proste, jak masz protection disabled to "zabezpieczenie wyłączone", a jak masz WDT i PBOR enabled to masz załączony watchdog timer i brown-out reset.
Tak. ADM690 niekoniecznie musi być uszkodzony. Reset może być spowodowany też przez działanie Watchdoga z ADM690. Sprawdź gdzie jest podłączony PIN6 tego układu.
Watchdog nie jest programowy tylko sprzętowy Możesz mi powiedzieć co tu miałeś na myśli? Watchdog nie jest programowy? pierwsze słyszę. programowo: 1. ustawiam watchdoga na jak najkrótszy czas 2. wyłączam przerwania (na wszelki wypadek) 3. pętla nieskończona. i masz programowy PEŁNY reset i skok do adresu ustawionego za pomocą fusebitów. (to jest najpełniejszy...
Osobiście wyznaję zasadę, im trudniej, tym ciekawiej i można się więcej nauczyć... Jeśli chodzi o zasilanie awaryjne to ATmega wcale dużo pradu nie pobiera w odpowiednim trybie uśpienia. Można ją wybudzać przerwaniem z licznika, może to byc reset z watchdoga (Źródło resetu jest rozpoznawalne w MCUCSR), obsłużyć co trzeba i znowu uśpić - przeliczanie...
No rzeczywiście stos jest nieustawiony. A co do obsłużenia wyjątku to z dokumentacji Cortexa wyczytałem, że dla wyjątków fetch i dla data abortów recoverable funkcja może w zasadzie nic nie robić, bo automatycznie hardwarowo następuje naprawa błędu a co zrobić dla błędów unrecoverable (reset od watchdoga), bo jakoś google milczy na ten temat???
Jak dla mnie taka odpowiedź zamyka dalsze próby udzielenia pomocy.
To przy budzeniu przerwaniem przy pierwszym sygnale przerwaniu wykona się przerwanie i w nim kod? Tak. Warto zapoznać się z: https://www.nongnu.org/avr-libc/user-man... znacie jakieś sposoby na resetowanie mikrokontrolera oprócz wykorzystania sprzętowego. Skok pod adres 0 nie resetuje rejestrów procesora (np. DDRx) i trzeba to...
Musisz zrobić bilans patrząc na to ile prądu pobiera timer2 w trybie asynchronicznym, a ile watchdog, ze wszystkimi aspektami w tym przywrócenia stanu po resecie watchdog. Jaki to mikrokontroler?
Witam serdecznie, mam pewien problem, może go opiszę: Wykonuję sterownik bluetooth opublikowany w EdW 01/09, wykonałem już płytkę i wszystko zmontowałem, jednak układ nie zachowuje się do końca tak jak powinien. Generalnie program jest tak napisany do mikrokontrolera aby na początku wysłał do niego komendę AT zmieniającą domyślną nazwę (serial adaptor)...
Zamiast na początek ćwiczyć 'mieszańce' w C, lepiej spróbować rasowo: [syntax=asm] ; ========================================... ; Inicjalizacja MPU i peryferii ... ; ========================================... org 000h clrf STATUS ; set known status clrf INTCON ; clear all interrupts...
wyłączenie watchdoga układ watchdoga watchdoga atmega
czujnik przepustnica citroen berlingo katalog bipolarnych czujnik zalania telefonu
wybór zmywarki delta media player
Wymiana sterownika ABS w Nissan Juke 1.5 dCi Saab 9-3 sedan - niedziałające światła wewnętrzne, żarówki sprawne