AVR nie traci zawartości pamięci przy resecie. Więc jeżeli program nie będzie jej zerował, rozwiązanie jest pewne. Inna sprawa, że w tym wypadku sugerowałbym, by watchdog nie robił resetu, tylko wywoływał przerwanie. Co to będzie za układ?
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.
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...
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)
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...
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...
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...
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...
Rozwiązanie: Dim Mcureg As Byte Dim Watchdog_flag As Byte Mcureg = Peek(0) If Mcureg.wdrf = 1 Then ' Czy uruchomienie wywołał WATCHDOG ? Watchdog_flag = 1 End If
Takie zabezpiecznie programu nie daje wcale większej pewności, niż przmyślany, przesymulowany i dobrze napisany i przetestowany program w uC bez użycia watchdoga. Urządzenie bez watchdoga w umownych 99 przypadkach na 100 po zakłóceniu procesora już nie wróci do pracy. Urządzenie z watchdogiem w 99 przypadkach na 100 się zresetuje i przynajmniej spróbuje...
podciagnoles cos do pinu reset?
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ć...
Spróbuj dać $noramclear na początku programu.
Config Watchdog = 2048 Zdaje sie że największy preskaler dla WatchDoga w M168 to 1024 a nie 2048. Tak ale "Config Watchdog = 2048" to znaczy że układ Watchdoga uaktywni sygnał reset procesora po 2048 milisekundach. Dla procesora Atmega168 możliwe są ustawienia: 16, 32 64, 128, 256, 512, 1024, 2048, 4096, 8192, czyli od 16ms do 8 sekund. Zamieszczam...
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_...
(...) 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).
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...
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...
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...
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...
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...
Problem w pewien sposob rozwiazany, moze komus sie przyda Dodano linie: $initmicro ........ _init_micro: Config Watchdog = 1024 Start Watchdog Return W tej postaci watchdog poprawnie resetuje uP: $crystal = 7372800 $regfile = "m168def.dat" $initmicro Config Aci = Off Config Lcd = 40 * 2 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3...
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...
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...
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ę...
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"...
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.
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...
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...
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...
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
Dlatego, że jak tego nie robię to wywala mi " Task watchdog got triggered. The following tasks did not reset the watchdog in time:"
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...
Dlatego pytam, czy po resecie (watchdog-owym) wszystko startuje od zera, włącznie ze stosem? tak.
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...
Watchdoga musisz kasować co chwilę Nie musi. Po resecie program ma wstać a w tym przypadku kontroler się zawiesza.
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...
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
Jeżeli chcesz wykorzystać Watchdog jako rodzaj timera, to w rejestrze WDTCR powinno się ustawić bit WDTIE. Ponadto za pomocą bitów WDP3...WDP0 należy ustawić prescaler Watchdog'a. Z tego wynika co jaki czas będzie przerwanie. Jeżeli np. potrzeba 8 s, to ustawić należy WDP3 i WDP0, czyli powinno być: https://obrazki.elektroda.pl/1370064900_...
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 =...
(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 !
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...
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.
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...
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 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...
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...
np MAX1232 - watchdog/reset/uC monitor
Jak dla mnie taka odpowiedź zamyka dalsze próby udzielenia pomocy.
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)...
jeżeli układ pracuje bez programatora to jest absolutnie odporny na dziwne sytuacje, nawet przy ustawionym BOD na 4Volt przy dobrym zasilaniu w ciągu roku na kilkuset układach nie wystąpił żaden reset. watchdog oczywiście także jest włączony. ogólnie jest to najbardziej sympatyczny mikrokontroler z jakim miałem do czynienia.
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?
JurgenStroop Plik BIN. gizmo1 Programatorów do ATMEGA8 na elektrodzie jest pełno. Pare rezystorów i gotowy programator :) g00fy Odświeżanie jest doskonałe. Smugi są "delikatne", u mnie to wygląda wyśmienicie. Daje to bardzo fajny efekt na LCD, cała smuga ma nie całe 1, 2 linie. Co do prędkości słupków można regulować to przez zmianę odpowiednich parametrów...
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ł...
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...
$crystal = 8000000 Config Lcd = 16 * 1a Config Int0 = Falling Config Timer0 = Timer , Prescale = 256 Config Watchdog = 2048 Config Pind.0 = Input Config Pind.1 = Input Config Pind.3 = Output Config Pind.4 = Output Config Pind.5 = Output Dim Regulation_counter As Byte Dim On_off_flag As Bit Dim Regulation_type_flag As Byte Dim Int_counter As Byte Dim...
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.
Funkcje wait (waitms) w BASCOM nie blokują i nie resetują watchdoga. Wyłączanie watchdoga w czasie odczekania może prowadzić do sytuacji, gdy wchodzące w tym czasie zakłócenie zablokuje nam na stałe procesor. Dlatego lepiej wstawić pętelkę z resetowaniem watchdoga i zostawić watchdog włączony: for i=1 to 3 reset watdog wait 1 next
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....
$regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal = 8000000 'informuje kompilator 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...
Zajęliście się tylko jednym aspektem, mianowicie licznikiem programu, pozostaje SREG i rejestry, nie jest np: zerowany watchdog. Uważam, że zmiana stanów portów WE/WY, może powodować poważniejsze skutki. Ponadto pomijana jest mozliwość wejścia procesora w tryb programowania. I tak jak napisał mcy aby wystąpił reset możliwe są jedynie 3 przypadki. Pytanie...
Wiecie co Panowie, jak wstawiłem w pętlę do-loop instrukcję reset watchdog(pomimo że jest zablokowany) ... No to już(?) masz przyczynę.Teraz napisz , której wersji Bascoma używasz :D Piotrek PS Podejrzewam , że masz wersję , która formalnie nie obsługuje ATTiny2313 :(
... Co do POWERDOWN to w tej wersji programu odpada bo po resecie WATCHDOG program by sie zaczynał od nowa (a na początku mam takie ładne powitanie przygotowane). ... To bierz manuala w łapki i poczytaj o rejestrze MCUCSR. Piotrek
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ć.
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...
Jedyny programowy reset to watchdog, bo skok do FE00h powoduje restart avr-ka ale nie ustawia domyślnie rejestrów
Witam. Chyba nazwa jest КР1171СП42 = PST529D Mitsumi Electronics : http://forum.radiospec.ru/index.php?show... http://pdf1.alldatasheet.com/datasheet-p... Zamiennikiem (nie jestem pewny) chyba MC33164P-5G: [url=http://www.tme.eu/pl/details/mc3316...
Witam Wyłączenie przerwania nie wchodzi w grę mam tam reset watchdog-a a pyzatym chce kontrolować temp cały czas niezależnie od miejsca w którym się znajduje z najwyższym priorytetem. Myślę że pozostaje mi rozwiązanie 2 ale czy Kolega zgada się z moja teorią o przerywaniu transmisji danych do LCD? Pozdrawiam
Wszystko słusznie ale czemu tak przywiązałeś się do tego bitu WDCE który jest używany tylko jako zabezpieczenie przed przypadkową modyfikacją rejestru WDTCSR. Zwróć uwagę na WDE - jego opis oraz parametr "Initial value" w tabelce. Ten bit nie jest domyślnie kasowany przy resecie a to oznacza, że po resecie watchdog dalej działa ale już z czasem time-out...
MCU w tym modelu to SOC SC92F8463BX, specyfikacja w załączeniu. Wynika z niej że MCU ma pin 6 RST i aż cztery tryby resetowania, PDF strona 31, włącznie z Watchdog (WDT) reset.
Watchdog w 89c51 zlicza 16384 cykli maszynowych (14-naście bitów) -czyli impulsów z wejścia zewnętrznego oscylatora/12. 2 sekundy możesz ustawić tylko 89S8252 (za pomocą przeskalera), ale on działa na zupełnie innej zasadzie - posiada wbudowany własny rezonaror RC. Ale jeżeli używasz Bascoma to wystarczy że odpowiednio często wpiszesz RESET WATCHDOG...
Bez kombinacji z Watchdogiem albo kombinacji z pinen Reset nie da się.
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 Moja Atmega 16 wiesza się w pętlach Uszczenianie i Paletyzacja poniższego programu: 'Listing programu obsługującego symulator procesów. Program został napisany ' i skompilowan w programie BASCOM-AVR 1.11.9.8. $regfile = "m16def.dat" 'określenie typu procesora $crystal = 8000000 'określene szybkości zegara 'Watchdog Wdtcr = &B00011111...
Dziwne ponieważ, wedle wszystkich znaków na ziemi i wodzie aby nastąpił reset wewnętrzna linia resetu musi przyjąć stan aktywny. Dzieje się to na skutek uaktywnienia lini reset : - zewnętrzny ( pin reset ) -reset watchdog, -może mieć miejsce przy spadku zasilania układ (POR) patrz dok. atmel , Nie zdarzyło mi się to nigdy, choć elementy wykonawcze,...
cześć. odgrzewam temat, ponieważ problemu nie udało się rozwiązać. Płytke procesora osłoniłem 1mm stalową blachą. low esr 1000u obok procesora. nic to nie dało, albo nie wiele. Procesor dalej się resetuje przy włączeniu stycznika. Program nie idzie w krzaki i zawartość pamięci nie ulega uszkodzeniu dzięki ustawieniu odpowiednich fusebitów zegara, zasilania....
Od czasu jak daje BOD-a to nic sie nie dzieje a wczesniej zdazaly sie dziwne zapisy do eeproma głównie gdy filtr pojemnościowy zasilacza był za duży. Zastanawiam sie tylko czy nie lepiej dawac zewnetrzny reset/watchdog np MAX690, a jezeli jeszcze mamy baterie do podtrzymania zegarka to chyba warto zalatwic wszystkie 3 funkcje jednym ukladem. Co o tym...
Jeżeli powodem restartów są problemy z przegrzewaniem i resety przez wbudowany Watchdog, w logach nigdy nic nie będzie. Zależnie od obciążenia procesora możesz wystawić cały ruch na złącze UART, i osobnym ESP logować całość na kartę pamięci, powiedzmy każde 10 minut osobny plik.
Tutaj masz menu o którym pisałem. Nie wiem czy zrozumiesz bo wyrwane z kilku tysięcy linijek. [syntax=basic4gl] '^^^^^^^^^^^^^^^^^^^^^^^NASTAWA KOREKTY CZUJNIKOW Sub Nastawa Menunastawa = 1 Bcs Do : Reset Watchdog L1 : Lcd "SERWIS na pewno?" L2 : Lcd "+ tak - nie" 'Reset Watchdog If Minus = 0 Then : Call Main : End If If Plus = 0 Then : Exit Do : End...
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...
Niech kolega sprawdzi, bo nie testowałem, ale powinno działać co 0,1°C. [syntax=basic4gl]'Regulowany termostat cyfrowy 'Projekt wykonał Krzysztof Gońka $regfile = "m8def.dat" $crystal = 1000000 Config Portb = &B11000001 Portb = &B11111111 Config Portd = &B11111111 Portd = &B11111111 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3...
Tak. Tyle że ustawiana jest jeszcze flaga która pozwala potem zobaczyć że to WatchDog spowodował reset.
Witam. Napisałem kawałek programu odpowiadający za reset Uc przez Watchdog: Disable Interrupts Config Watchdog = 16 Start Watchdog I Uc się nie resetuje, zawiesza się, trzeba "wcisnąć" RESET z pinu. Nie rozumiem co jest nie tak, przecież to prosty układ.
Oby dwa AVRy mają kwarce zewnętrze 16Mhz ( są to moduły do płytek testoswych czyli wraz z kwarcami i innymi) W fuse bitach jest ustawione dla każdego z nich po 16Mhz i 4ms. Więc myślę że to nie wina fuse bitów:( Dodano po 9 Zmieniłem zamiast 3 znakowego łańcucha na 6 znakowy ALAMA: $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600...
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...
Ajajaj Panocku, jest tu wiele błędów. Trzeba popracować nad poprawkami. Ale po kolei. 1 . Brak dyrektyw rozmiaru stosu. Pomoc 2 . Zbędne jest definiowanie czterech zmiennych I1s można nadpisać następnym odczytem z DS po konwersji. 3 . Bardzo szkodliwe dla programu użycie Debounce Pomoc 4 . W jakim celu został użyty Reset Watchdog ? 5 . Zbędne definiowanie...
'---------------------------------------... ' Solar v9 z pomiarami i watchdogiem '---------------------------------------... ' ustawiono napiêcia od³aczenia 1,17V ' napiêcie ochrony 1,45V ' led red lutowana do b1 ' opornik do b2 '---------------------------------------...
Witam, prawdopodobnie błąd jest w inicjalizacji watchdog. Wykorzystujesz do tego dwie funkcje, init_WDT() oraz init_watch_dog(). Pierwsza init_WDT: https://obrazki.elektroda.pl/2044113200_... ale już kolejna linijka [syntax=c]WDTCSR=_BV(WDIE);[/syntax] kolejne nadpisanie rejestru WDTCSR, w tym momencie ponieważ mieścisz się w czterech...
Wygląda jak reset z watchdoga.
Przeznaczenie: Ustawia określony bit w stan 0. Składnia: RESET bit RESET WATCHDOG RESET zmienna.x gdzie: bit nazwa bitu; określonego w przestrzeni rejestrów specjalnych czy jako zmienna bitowa zmienna dowolna zmienna, x numer określający bit z zmiennej; 0-7 dla bajtów, 0-15 dla Integer/Word, 0-31 dla Long. Opis: Instrukcję RESET WATCHDOG stosuje się...
Co to za procek ? Power-down dla Atmegi masz Only an External Reset, a Watchdog Reset, a Brown-out Reset, a Two-wire Serial Interface address match interrupt, an External level interrupt on INT0 or INT1, or an External interrupt on INT2 can wake up the MCU
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...
Czas zapisu Eepromu wynosi typowo 2,5-4ms. W tym czasie nie powinny byc dokonywane zadne inne operacje na pamieci Eeprom. Informacja o zakonczonym zapisie znajduje sie w rejestrze Eecr (bit 1). Wyzerowanie tego bitu = koniec zapisu Po instrukcji writeeeprom mozesz dac polecenie: bitwait Eecr.1, reset wtedy program bedzie zatrzymywany jedynie na czas...
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...)
Wymiana firmware'u pomogła(na razie 3 dni chodzi bez resetu). Dziękuję Panie Darku za pomoc! Pozdrawiam
Tak nawiasem mówiąc to watchdog nigdy nie powinien zadziałać, ale niestety istnieją również przyczyny niezależne od programu, ale przyczyną nie powiniwn być sam program. Ja przeważnie ustawiam niski watchdog np. 16mS i licznik resetów, puszczam program przewazniena baterii i jezeli licznik po jakims czasie testowania pokaże reset od watchdog>0 to już...
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?
czytam czytam - ale chodziło mi o external reset :)
Chodziło całą noc resetujac sie co sekunde (jedna płytka software reset), druga watchdog reset i nie wiesza sie. Widać jest cos nie halo z resetem "z pinu", ale szczesliwie ten jest najmniej dla mie interesujacy. Przy watchdog, power i software resecie nie trzeba nawet dotaktowywać. Dodano po 2 Jezeli chodzi o RESET z pinu to poddaje sie. Nie znalazłem...
watchdog reset atmega reset watchdog mikroprocesor watchdog
tyrystorowy moduł zapłonowy schemat przelotka naprawa huawei mobile windows
instrukcja obsługi pralka electrolux panel sterowania
Viessmann Vitoclima - Klimatyzatory i Pompy Ciepła Deck MDS 506 nie wyłącza się po Standby - diagnoza i naprawa