No ale dlaczego miałby w przypadku przerwania się nie wyzerować? Toż polecenie ustawiające go na jakiś określony czas to tylko miejsce w którym się przepełni i będzie liczył od zera. A czasu masz tyle na ile ustawiłeś watchdoga.
Mam malutki problemik z jednym z moich układów otóż watchdog tak jakby nie zawsze resetował procka i pomimo że jest włączony, program się po prostu zatrzymuje. W jednym z tematów widziałem że komus pomogła "bezpośrednia" konfiguracja tj. ustawianie bitów. Chciałbym, wiedziec jak ustawic watchdoga na 2 s, uruchomic, zatrzymać i zresetować. Próbowałem...
Witam, problemem może być to 200ms, bo według dokumentacji najbliższe są 125ms lub 250ms z odpowiednią tolerancją. Spróbuj ustawić watchdoga i włączyć odpowiedni tryb sleep (może być POWER OFF) i spradź czy zadziała. Pamiętaj, że watchdog będzie ciągle włączony, jeśli wcześniej był powodem resetu. Dokumentacja do avr/wdt.h i avr/sleep.h powinna wyjaśnić...
co robi pętla: stop: jmp stop wedłyg mnie tylko sapetla sie. a swoja droga to warto ustawic watchdoga Dodano po 1 oczywiscie zapętla się za blisko te klawisze:) Dodano po 5 A tak na marginesie z jaka dokladnoscie chcesz mierzyc?? Dodano po 11 a swoją drogą juz ktos mówił ze adres ma byc $0A a nie $0C Mysllałem ze tego ni emusze sprawdzac :D
sugerowalbym ustawic "Fusebit B" i uzywac watchdoga
witam... moze mi kotos pomoc ustawic watchdog tak aby uP resetowal sie po 2sekundach... uzywam bascoma i procek resetuje mi sie po 16ms /przynajmn iej tak wynika z symulacji/ z pdf'a wyczytalem, ze mozna czas ustawic za pomoca s0,s1,s3 w WDTRST - Watchdog Reset Register (0A6h) moze mi ktos pomoc jak mam to zrobic, pewnie w asm, ale z tego to ja jestem...
(at)boozeman Będę miał dla ciebie bardzo dobrą poprawkę (a raczej obejście). Dowiedziałem się, jak ustawić watchdoga w BK, więc teraz, nawet jeśli w jakimś rzadkim przypadku coś się zawiesi, urządzenie samo się zrestartuje. Wkrótce wypchnę kompilację WDG. Więcej wkrótce.
Twoj hex ma wlaczonego watchdoga a powinien byc wylaczony - dokladnie tak jak mowi Freddie Chopin. Natomiast na koncu listingu watchdog nie jest "dziwacznie wylaczany" jak ten Kolega pisze tylko podany jest w komentarzu (za srednikiem) opis jakie fuse-bity ustawic ; Fuses (CP=Off, PWRTE=Enabled, WDTE=Disabled, OSC=XT) BF
Pomylilem sie, podzial zegara przez 12 mozna ustawic tylko dla timerow i watchdoga. Do wyboru masz mnoznik 2, 4 i 1/1024 Zajrzyj do user guide do dzialu CPU TIMING, tam masz opisane jak zmieniac podzial zegara.
Witam, Po pierwsze, ogromne podziękowania dla dewelopera za to, że to działa. Mam kilka włączników światła na module BK7231T (odkryłem to po ich zakupie), a to uratowało mi życie. Ale znalazłem dwa problemy z oprogramowaniem układowym. 1) Kiedy odłączam (wyłączam) HA na kilka godzin, oba przełączniki rozłączają się (zamrażają?) i nie mam do nich dostępu...
Chciałem się dowiedzieć jak poprawnie ustawić watchdoga w przypadku wejścia w SLEEP. Czy zawsze WDT będzie mi wybudzać mi procka i czy jest możliwość obejścia tego. Jak spać to spać.
Moze masz ustawionego watchdog'a w fuse bit'ach? O ile wszemogacy Bascom generuje hex to moza go wgrac do AVRStudio i probowac uruchomic symulator.
mam dziwny problem: przy takim programie ldi r16,0b101 out 0x21, r16 ldi r16,0b011101 out 0x21, r16 ldi r16,low(0x199) out SPL,r16 ldi r16,high(0x199) out SPH,r16 sbi ddrb,6 sbi portb,6 reset2: nopnop jmp reset2 reset jest co 20 ms (+-) ldi r16,0b101 out 0x21, r16 ldi r16,0b011101 out 0x21, r16 sbi ddrb,6 sbi portb,6 reset2: nopnop jmp reset2 reset...
Dziekuję Master za obfitą wypowiedż. Jeśli zatem chcę ustawić watchdoga z preskalerem /1024k, aby nie resetował się procek ,lecz wskakiwał do procedury obsługi przerwania to czy prawidłowy będzie taki zapis: Wdtcsr = 0b00111001; Wdtcsr = 0b01100001; spróbuje ale dopiero we wtorek i dam znać. Pozdrawiam
W skrocie: watchdog to jest taki licznik (niezaleznie taktowany) ktory po przepelnieniu powoduje reset procesora, zapobiega tym samym zawieszeniu sie go. Zerujac co pewien czas licznik watchdoga powodujemy ze program bedzie sie nam nadal wykonywal, a w przypadku gdy procek nam sie gdzies _zamysli_ i nie wyzeruje w odpowiednim momencie watchdoga nastapi...
nie zapętlą się już podłączyłem resety. Układ centralny resetuje pozostałe układy. Jednak nie mogę ustawić watchdoga. Piszę: ... #include <avr/wdt.h> .... wdt_enable(WDTO_500MS); .... (w pętli głównej) wdt_reset() i nie może skompilować bo nie zna funkcji: WDTO_500MS jak to ustawić dla Mega16? Kompiluję na win AVR Wpisywanie cyfry jako parametru...
Program bez watchdoga zasadniczo zawieszac sie nie powinien - jezeli robi to regularnie albo bardzo czesto to znaczy, ze problem jest w Twoim sofcie albo w wadliwym ukladzie (zasilanie, prowadzenie masy, odsprzeganie zasilania - mikrokontroler natomiast na pewno jest w porzadku). Watchdog jest dodatkowym zabezpieczeniem w razie jakichs bardzo niezwyklych...
Świeci dziadowsko bo i przerwanie się długo wlecze. [syntax=basic4gl] If Licznik < Czekaj(11) Then Portb = &B00000100 Else Portb = &B00000000 If Licznik < Czekaj(11) Then Portd = &B0010000 Else Portd = &B00000000 A nie lepiej: If Licznik < Czekaj(11) Then Portb = &B00000100 Portd = &B0010000 Else Portb = &B00000000...
BSOD wystepowal co jakis czas nie codziennie wiec mam ustawic na auto i czekac kilka dni ? Nie moge dać najpiedrw ustawien takich co mialem i zobaczyc czy wystepuje czy nie ?
Jak pisze Mariusz wyżej, sprawdzałem. Wpisanie w watchdoga każdej innej liczby niż 2048 czyli 2 sekundy nie daje żadnego rezultatu. Watchdog timer, podobnie jak inne timery posiada prescaler, który konfiguruje się edytując bity WDP3:0 w WDTCR – Watchdog Timer Control Register, co pozwoli ustawic max 'time out' na 8sec. dla Attiny13. Inne m-processory...
Teraz masz watchdoga ustawionego tak, że po wykonaniu obsługi przerwania nastąpi reset. To tak po przejrzeniu kodu z grubsza :)
Ok, dzięki, dzisiaj wieczorem spróbuję z tą nową wersją kodu. Jeszcze muszę go dokładnie przejrzeć. A co do punktu 2, to podzielnik był ustawiony na watchdoga, żeby timer miał 1:1. Jak ustawisz na TMR0, to będzie 2:1. No ale jeszcze muszę dokładniej sprawdzić wszystko. Dzięki, potem zdam relację co i jak. :)
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_...
(at)divadiow Setstartvalue 1 -1 jest tym, czego szukałem. Dzięki. Ale jak mogę zobaczyć, który parametr jest aktualnie ustawiony? Losowy reset Watchdoga wydaje się być problemem nie tylko z moimi urządzeniami. Czytałem, że inni mają ten sam problem. Wygląda na to, że jest to specjalistyczny problem z chipem bl602? Więc dla mojej pracy wystarczy ustawić...
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ć...
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.
No i stała się rzecz dziwna ? Po ponad tygodniowej , normalnej pracy nagle przestał działać. Wczoraj wieczorem jeszcze było OK a dziś rano nie działa tzn. nie podtrzymuje świecenia po wciśnięciu przycisku. Wymontowałem go i podłączyłem do stanowiska testowego i rzeczywiście nie działa. Napięcie zasilania 5 V jest, czyli kondensator odpada, sprawdzam...
Witam Mam problem z Xmegą. Otóż - na płytce z mam złącze goldpin, na którym jest wyprowadzenie do dwóch portów + masa i zasilanie 3V3. Obok znajduje się wejście programatora. Problem jest taki, że gdy zbliżę palec do tego złącza / przypadkowo dotknę mikrokontroler milknie / wyskakuje z programu i nie resetuje się mimo ustawionego watchdoga. Co ciekawe...
No jak na program który ma migać diodami to troszkę przekombinowany chyba. Dlaczego włączasz WATCHDOG’a ??? Tym bardziej że z tego co wyczytałem w dokumentacji ATtiny15 to takie ustawienie WATCHDOG’a powoduje reset co 512k cykli procesora. Czyli procesor ustawi na wyjściu stan „1” i zanim zdąży ustawić „0” to się...
Tak zaczynam od C. dołącz plik "wdg.h" (#include <avr/wgt/h> No tu zrobiłeś mi zagadkę, ale udało mi się wyszukać właściwy plik. Zmiany w programie dla Watchdoga wprowadzone, ustawiłem na WDTO_120MS. Fusy dla Watchdoga i Bodlevel dla 2,7V przestawione. Termostat działa bez zmian :) Jak byś mógł jeszcze mi wyjaśnić co mi daje w tym przypadku odczytywanie...
Dzieki Ale umieszczenie procedurki zerujacej w Timerze nie jest takie glupie przynajmniej ten glupi procesor nie bedzie mu sie resetowal :-D a odnosnie uzywania: co trzeba ustawic w rejestrach (asm) i jaka komenda trzeba resetowac Pieska pewnie WDR?? no i jak to jest jak procek jest w IDLE lub Power down bo wtedy watchdog tez pracuje - przynajmniej...
Jesli jakas funkcja jest wykonywana dluzej to najprosciej jest w niej umiescic dodatkowy WDR. Okresowe blokowanie WD jest bez sensu, bo, zeby WD mial sens to trzeba ustawic fusebita uniemozliwiajacego jego blokowanie... Co do tych flag - nie prosciej ustawic ktrotki okres WD i w kazdym miejscu umiescic WDR? Wtedy na biezaco WD jest resetowany w miare...
Witam. Problem następujący: Ustawienie sprzętowego watchdoga bajtem konfiguracji podczas wgrywania Rflascher-em zabija wszelką możliwość komunikacji po JTAGu. Nie można na nowo wgrać programu, wyczyścić pamięci ani bajtu konfiguracji żeby wyłączyć tego watchdoga. Oczywiście program wgrywający ostrzega przed tym faktem, ale zawsze jest tak że trzeba...
Moze sie myle ale gdyby ustawic na koncu programowania czujnikow martwa petle to WDT zareaguje i zresetuje procka, chyba ze jest to wykonywane wielokrotnie. Jesli program sie zawiesi moze przestac sprawdzac pin na ktory podajesz impulsy i bez watchdoga wewnetrznego lub zewnetrznego sie nie obejdzie.
WD mam ustawiony na stałe fusebitami.
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...
Sorry za OT ale chyba nie wszyscy z was umieja czytac ale gdy po pierwszym resecie nie zadziała to się wiesza na dobre i nawet ręczny reset nie działa tylko odpięcie zasilania pomaga. Jak to sie ma do waszych wszystkich dywagacji ? Z drugiej strony sam przeszukalem manual do Atmega8 i nie potrafie odpowiedziec na to pytanie takze chetnie sie dowiem...
Przypadkiem nie właczyłeś watchdoga ?
Witam, Oczywiście, że możesz wybudzać procesor z trybu Power-down bez resetowania procesora, Watchdog wywołuje przerwanie "od siebie" i procesor jest już aktywny. A to czy podczas przerwania od Watchdoga procesor jest resetowany czy też nie to muszisz ustawić w odpowiednim rejestrze z Watchdoga (WDTCR) tam też ustawisz czas po jakim będzie generowane...
Nie wiem tylko dlaczego nie mogę ustawić górnej granicy watchdoga na większą od MAX dopuszczalny. To pytanie nie ma sensu... Jest chyba oczywistą oczywistością dlaczego nie można ustawić wartości na większą niż największa możliwa - "bo nie i już". Wydawało mi się, że jak mogę mierzyć od 0 do 3,3 V a próg górny ustawię na 4 V to mi nie wypadnie poza...
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ą)
Proponowałbym spróbować: #define F_CPU 12000000UL przesunąć przed #include <util/delay.h> , bo opóźnienia będą nieprawidłowe. Kompilator nie wyświetlał żadnych ostrzeżeń? Wyłączyć fusebit WDTON (hfuse=0xD9 zamiast 0xC9), bo on włącza watchdoga, a nigdzie go nie resetujesz. Przy ustawionych domyślnie bitach WDP2:WDP1:WDP0 na 0 mikrokontroler będzie...
Zdaje mi się, że w przypadku a przerwania z watchdoga nie da się ustawić rzadziej niż 2s.
Witam, mam problem z zaprogramowaniem tej atmegi na kwarc 18Mhz. Jakie Fusy ustawic w ISP Programmer?? ustawiłęm tak jak to zalecłał twórca tego programu : 'Analogowo - cyfrowy analizator widma 'Andrzej Jabłonski 'atom1477(at)wp.pl 'Wersja 2dB 'Ustawienia bezpieczników: Crystal Clock - High Frequency (CKSEL - 1111) ' WatchDog Always On (WDTON - Fuse...
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?
Jako, że zaczynasz to podpowiem Ci może jak to zrobić. z c++ jestem od 3 lat :).. tyle że dopiero zacząłem programować uC. Mam jedno zastrzeżenie/radę. STOP z pilota zrób na dowolnym przycisku. Wyobraź sobie, że Twoje dziecko wbiegło w szczelinę między zamykającą się bramą. Tak samo wyobrażałem sobie jak by to jakieś rodzeństwo tego kolegi tam wbiegło,...
Witam fachman. Ja wlasnie zrobilem ten tester i zaprogramowalem go przez jdm, poszlo bez problemu. Co do programu to jest icprog i w pliku vga tester jest plik txt i tam opisane co ustawic. hc, a wdt disable, mozesz tez cp wylaczyc aby potem moc sprawdzic czy poprawnie zapisalo. Jezeli juz zaprogramowales to moje pytanie jest takie: czy rowniez niemozesz...
Nie wpisałeś tam przypadkiem 0 (aczkolwiek nic to nie powinno zmieniać)? Popatrz że najpierw używasz operacji bitowych &, a potem przypisujesz wprost do rejestru. Dwa - nie bruździ Ci tutaj watchdog (odpaliłeś chyba tym wpisem hardware'owego watchdoga)? Trzy - jeszcze ustawiłeś write protect. EDIT - nie wiem jak w STVP to wygląda, tam jest rozróżniona...
Dzieje się coś dziwnego z mikrokontrolerem i już sam nie wiem co ja z tego wnioskuję, na pewno wnioskuję, że nie działa tak jak powinien, prosty program, #include "stm32f10.x" int test=0; int main(void) { while(1) { test++; } } Czyli według Ciebie kod powyżej jest kompletny i powoduje ustawienie flagi resetu od watchdoga? Nie inicjalizujesz nigdzie...
Jeżeli zdarza się to bardzo regularnie to wydaje mi się że WATCHDOGA masz ustawionego na np. adres IP z zakresu sieciowego którego nie używasz, być może to stary wpis używany przez poprzedniego właściciela (o ile ten sprzęt pochodzi z drugiej ręki) W domowym zastosowaniu lepiej WATCHDOGA nie używać, to funkcja wygodna dla amatorskich dostawców internetu....
Witam. Po dzisiejszych próbach okazało się co następuje: 1. Przyczyną takiego a nie innego stanu na pinach był najwyraźniej działający watchdog, zgodnie z tym co zasugerowali koledzy zerpo i McRancor 2. Postanowilem unieruchomic watchdoga, przynajmniej na czas testów projektu, w tym celu zmodyfikowałem kod: #include <avr\io.h> void WDT_off(void)...
jeśli chcesz sprawdzać program w wielu miejscach to zastosuje flagi ustawiane w punktach kontrolnych a ustawienie tych flag sprawdzaj w procedurze obsługi Watchdoga. Możesz wtedy sprawdzić obecność w wielu punktach i wyzerować (lub nie) timer, z wyzerować wszystkie fagi. Wtedy procedura nawet dobrze jak byłaby obsługiwana w przerwaniach zegarowych (nawet...
Witam Mam dziwny problem i nie wiem jak go rozwiązać. Nie wiem co źle robię. Ale do rzeczy. Mam programator Willem PRO 2 i programuje nim mikrokontroler pic16f84a. Zacząlem zabawę z pic od najprostrzego programu jaki może byc czyli od zapalenia diody Mój banalny programik :) #include <pic.h> void main() { TRISB=0; RB4=1; RB6=1; } Wszystko elegancko...
Nie działa mi to: Dodano po 26 Czy da się jednocześnie używać watchdoga jako timer i jako układ który w razie błędu resetuje mikrokontroler? Dodano po 3 Aktualizacja. Poprawiłem ten kod i teraz już dioda dość dobrze świeci, tylko gdy ustawię stan niski w przerwaniu watchdoga to ona nadal świeci tylko ciemniej.
Witam, jaka to platforma i urządzenie? W przypadku klasycznego urządzenia przekaźnikowego, na większości platform, ustawienie -1 w "Konfiguruj uruchamianie" dla kanału przekaźnikowego powinno wystarczyć. Jeśli jednak urządzenie zostanie z jakiegoś powodu zrestartowane przez watchdoga, podczas restartu może być słyszalne krótkie kliknięcie. Biorąc to...
W dokumentacji jest napisane aby odczekać 2-3 sekundy od włączenia zanim wyśle się komendy AT. Ja czekam dłużej, aby jeszcze modem zalogował się do sieci... w moim przypadku patrząc na miganie diody zajmuję to mniej niż minutę. Mogę to zmienić i po prostu cały czas odpytywać modem poleceniem "AT+CREG". W chwili obecnej jestem zadowolony z działania...
Jest rejestr WDTCR. Ustawienie bitu 3 włącza watchdoga. Bity 0..2 odpowiadają za częstotliwośc pracy. 0 0 0 16K (16,384) 17.1 ms 0 0 1 32K (32,768) 34.3 ms 0 1 0 64K (65,536) 68.5 ms 0 1 1 128K (131,072) 0.14 s 1 0 0 256K (262,144) 0.27 s 1 0 1 512K (524,288) 0.55 s 1 1 0 1,024K (1,048,576) 1.1...
Ach literówka, wiadomo że ma być # Nie o to mi chodziło. Watchdoga uruchamiam jednak mam problem z jego obsługą, w odróżnieniu od 89S8252 w którym ładnie ustawiam sobie watchdoga na 2 sekundy - to w 89S52 watchdoga trzeba resetować co określoną liczbę cykli (16383 machine cycles). Jak to wrzuciłem w przerwanie to procek zwolnił tak że głowa boli :)...
Niezbyt rozumiem ideę stosowania watchdoga przy bootloaderze. Reset potrzebny mi jest do przejścia do sekcji bootloadera podczas wykonywania "zwykłego" programu. Podczas resetu zawsze przeskakuje pod adres ustawiony fusebitami. Chciałbym zmieścić program ładujący w 256 bajtach. Jak wygląda obsługa watchdoga w takiej sytuacji. Pytam, bo do tej pory wykorzystywałem...
Cześć Utknąłem podczas próby uruchomienia mojej płytki z AT91SAM7S256 za pomocą SES. Co mam: - Płytka z MCU AT91SAM7S256 - zrobiona przeze mnie - J-link w wersji edu - zaktualizowany soft. - Segger Embedded Studio - Najnowsza (2.16a) wersja. Co chcę uzyskać: - Skompilować podstawowy program i wgrać go do MCU bezpośrednio z SES, a następnie go zdebugować....
Może nie wchodzisz do tej funkcji tak często? Inna sprawa to taka, że zerowanie watchdoga powinno się odbywać raczej w pętli głównej, a nie ma być rozsiane po całym programie. Im rzadziej tym lepiej.
Witam. Napisałem kod na procesor jak w temacie, zaprogramowałem go (z małymi problemami, ale po zwiększeniu w programie /Dybkowski/ wartości częstotliwości kwarcu udało się), podłączam LCD i nic. W ogóle nie dochodzi do inicjacji. Podejrzewam, że może coś skopałem przy odczycie z wewnętrznej EEPROM. Proszę o sprawdzenie i/lub ewentualne sugestie. Dziękuję...
Witam! Na załączonym zdjęciu przedstawiam sposób w jaki powinny być połączone oba układy. Niektóre funkcje układu ADUM691 pozostawiłem nie używane. W takim połączeniu działa Watchdog, monitor napięcia zasilania z automatycznym resetem po spadku napięcia poniżej 4.65V oraz wyjście które możemy tak zaprogramować aby nas informowało że napięcie spadło...
O ile mi wiadomo z własnych doświadczeń, to przejście w tryby oszczędnościowe nie powoduje zmian w rejestrach i w pamieci ram, wiec stan wyjsc pozostaje niezmieniony. Tylko reset powoduje ustawienie we/wy w stan highz, ale nie powoduje wyczyszczenia zawartosci pamieci,. Przydaje sie to np. przy wybudzaniu z trybu power down przy pomocy watchdoga.
Więc tak. Skoro łączysz oba układy RSem to po co ci jeszcze jakieś przewody do wywoływania przerwań? Pewnie dlatego, że na tyle ile umiem obsługiwać RS tak sobie radzę :P ogólnie miałem taką wizje, żeby oba układy pracowały normalnie w spoczynku bez siebie. Na panelu np mam godzine, a na tym drugim układzie temperature odczytaną z LM35. A przerwania...
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...
Witam, skompilowałem AES bootloader (pod gcc). W zasadzie wszystko działa jak powinno poza jednym wyjątkiem. Jeśli zostanie wywołany reset z watchdoga procesor się zawiesza, nie pomaga sprzętowy reset, pozostaje odłączenie zasilania. Fusebity HIGH mam ustawione na D8. Początek bootloadera mam ustawiony na .text=0x1E000. Jeśli ustawię fusebity HIGH na...
Witam, Mam do wykonania prosty system, który przez większość czasu pozostaje w uśpieniu i co 10 sekund wybudza się by wykonać swoje zadania po czym przechodzi do trybu power-down. Poszukiwałem mikrokontrolera w 14-nóżkowej obudowie (potrzebne SPI i INT0) z pamięcią flash w granicach 4kb, który dysponuje trybem asynchronicznym timera, który to daje możliwość...
Witam, nie wiem czy to odpowiedni dział więc w razie czego proszę przenieść. Do rzeczy. Na rpi3 mam napisany przez siebie w Pythonie program. Używa on biblioteki pygame. Normalnie działa bez zarzutu ale co 2-4 dni wyrzuca błąd "Fatal Python error: (pygame parachute) Segmentation Fault" i wychodzi z programu. Wydaje mi się, że może za tym stać nieumiejętnie...
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ć...
(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ż...
Macie panowie racje. Generalnie to dawno temu zaczlem przygode z bascomem wtedy na 89C4051 ale poleglem i dalem sobie spokoj na wiele lat. Teraz wrocilem do tematu. Zaczalem od prostackich programow gdzie np delay 1sekunda sluzyl mi do mrugania ledami itd. Wstawialem takich delai wiele i mi diodki mrugaly jak cos tam mialem zglosic. Ale zaczalem sie...
jeśli pokazuje ci 2mA to jeszcze nie jest niestety w najpełniejszym trybie PowerDown. W tym najgłębszym trybie miernik powinien ci pkazywać 0,6uA a skoro są mili ampery to znaczy, że bardzo częto się wybudza ze snu Dodano po 3 w związku z tym, że wykonałeś kawał dobrej roboty to tutaj pokażę ci jak ja zrobiłem usypianie procka, jak widać jest to robione...
No tak ale reset to jest chyba reset i procesor się resetuje. Mam ustawioną opcję tylko resetu sprzętowego, ba ATtina ma możliwość jeszcze generowania przerwania. Bezpieczniki ustawione są jak załączniku. Nawet sprawdzam na początku programu czy reset pochodzi z watchdoga, ale tak nie jest. A co do resetowania watchdoga to wiem o tym po prostu tu watchdog...
U mnie w obu przypadkach też czas wyświetlania jest bardzo krótki 2-3 sek. Jeżeli układ był by źle zbudowany to albo wcale by się nie włączył albo był by włączony cały czas bo przecież to atmega zapewnia podtrzymanie zasilania utrzymując na PD6 stan wysoki. A jeżeli były by źle ustawione bity zegara to przecież wyszły by błędy przy pomiarze oporników....
Już wiem gdzie był problem, zadeklarowałem sobie zapisywanie od komórki 10h a tam mam stos i zmieniało mi wartość dlatego był błąd. Dokładnie tutaj zmieniłem: Dodano po 2 Wklejam cały działający kod z komentarzami, a nóż się komuś przyda. Wielkie podziękowania dla Panów z Elektrody, zawsze można na Was liczyć! [syntax=asm]$NOMOD51 $INCLUDE (REG517.INC)...
Witam noi po zainstalowaniu tego ,programator wogle przestal wspolpracowac musialem od nowa system instalować po zainstalowaniu wyskakuje taki sam komunikat jescze jedno pytanie w MkCalculator jako lock bits pokazuje mi 0x3F a w AVR dudes pokazuje external jako 0x05 czy lock bits nie powinien byc na 0x0F Dodano po 14 Widze ze odpowiedzi brak pewnie...
Czy po restarcie od watchdoga zmienne na starcie mogą być niewyzerowane? A stos tak samo wygląda po restarcie od watchdoga jak i zwykłym uruchomieniu? Zależy co dokładnie i jak ustawiłeś. Jeśli przez "ponownie włącza go watchdog" rozumiesz reset mikrokontrolera wywołany watchdogiem, to jest to taki sam reset jakbyś np. wcisnął przycisk. Niemniej jednak...
Witam, próbuję uruchomić Watchdag'a jak w temacie i mam problem reset wykonuje się pięknie a i program "wchodzi" w wektor ISR(WDT_vect), tylko, że 30 razy .... zapewne robię kardynalny błąd, z nieznajomości dogłębnej tematu poniżej kody main https://obrazki.elektroda.pl/6340020400_... może ktoś wspomoże wskazaniem błędu pozdrawiam Dodano...
Użycie zwykłego Watchdoga nie wchodzi w grę bo potrzebuję interwału w minutach, nie ms. IWDG możesz ustawić na ok 25 sekund. W main() odczytujesz z backupdomain licznik, jak zliczył mniej niż 24 to idziesz spać, jak zliczył to realizujesz swoje zadania.
otóż mają one właśnie już PullUp Ręczysz głową za każdego producenta LCD ? ;) W trybie 4 bitowym są to piny nieużywane i tyle. Czyż przy podaniu zasilania domyślnie przypadkiem nie jest 8 bit ? Układ HT244 ma poziom rozpoznawania stanu wysokiego dla zasilania 4,5V min. 3,15V - nota, strona 6 Mam wrażenie, że te układy produkuje wielu różnych producentów...
Co do zerowania rejestrów to np. flagi przerwań "zeruje" się wpisaniem jedynki. Z kolei niektóre rejestry przyjmują wartość początkową inną niż zero (choć nie wiem czy są takie w tym procku, oprócz rejestru stosu, ale ten ustawiasz). -- edit --- I jeszcze mi się przypomniało: ustawienie (w tym wyzerowanie) niektórych flag wymaga wykonania pewnej sekwencji...
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...
W przerwaniu INTx ustawić watchdog w tryb przerwania na czas około 1 sekundy i wrócić do power down. Po przerwaniu od watchdoga sprawdzić stan wejścia i podjąć odpowiednie kroki. PS. W attiny każde wyprowadzenie może wybudzić procesor. Lepiej używac pin change interrupt moim zdaniem.
masz na myśli wdt_enable(WDTO_2S); //Włączenie Watchdog'a z czasem opóżnienia 2s a potem w pętli głównej programu wdt_reset(); natomiast nie resetował mi sie watchdog podczas gdy byłem w menu. Temat zamykam. Dzięki za pomoc.
1065317 wrote: wstawilem kwarc 4.000 pod piolem kondensatory 33j bo myślalem ze "fusy" ustawione są na zewnętrzny ale nadal brak komunikacji :/ AT90S2313 nie dysponuje wewnętrznym oscylatorem (oprócz watchdog'a), więc kwarc jest tu obowiązkowy. Tak niska cena wynika z faktu, że obudowa jest SMD a układ jest już zastąpiony nowszym modelem i sprzedawca...
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...
Musisz podłączyć przycisk do wejścia przerwania zewnętrznego (INT0, lub INT1). Przerwanie musi być ustawione na wyzwalanie poziomem. Wyzwalanie zboczem nie działą w trybie power-down. Inne rozwiązanie to uruchomienie watchdoga, który co pewnien czas będzie resetował uC, a ten zaraz po resecie będzie sprawdzał stan przycisku i jeżeli przycisk nie będzie...
Przed przystąpieniem do ustawienia fusebitów chciałem się najpierw poradzić. Posiadam procesor atmega88PA-PU który zamierzam taktować zewnętrznym kwarcem 8Mhz. Mam napisany program do obsługi sprzętowego PWM i SPI pozostaje mi tylko ustawić odpowiedni te fusebity. Screen z programu od ustawiania fusebitów. http://obrazki.elektroda.pl/5028023400_1...
Nie zapominajcie, że ten "system" ma mieć Watchdoga który sam z siebie jest osobnym zegarem i poborem prądu. W tak prostej implementacji i 1KB kodu to odradzałem WD. Wystarczy Powerdown i Sleep a wcześniej ustawić PCINT.
Niestety, na v4.12.460 jest dokładnie tak samo. Pomiędzy mega16 a mega8535 nie znalazłem różnic w budowie i sterowaniu układem WDR a mimo to mega16 działa. Nawet program skompilowany pod mega8535 działa, gdy symulator ustawiony jest w tryb mega16, więc prawdopodobnie jest błąd w pliku opisującym zachowania mega8535 podczas symulacji.
Potrzebuje wsadu pamięci botloadera (ISP) do płyty Vestel 17MB65. Płyta ma uszkodzenie w plikach pamięci NAND, dodatkowo nie można wiele zdziałać w konsoli bo system się resetuje. W płycie 17MB61 na ten objaw pomagała właśnie pamięć botloadera - jest to jakieś zabezpieczenie wykrywające awarię systemu. Wsad z 17MB61 nie pasuje gdyż jest tu pamięć 64MB...
Witam Mam program który używa USART, ponieważ potrzebowałem jeszcze jednego portu UART, dołożyłem softwerowego UARTA i tu zaczeły się problemy z watchdogiem. Ustawienia watchdoga sa takie że robi restert jesli nie bedzie jego zerowania po około 2s, dopóki nie dodałem softwerowego uarta wszytsko było ok, ale po jego dodaniu reset procka nastepuje już...
Witam od paru godzin męczę się z uruchomieniem watchdoga. Problem jest następujący: Watchdog nie działa. Ma włączony zegar (SYSAHBCLK), ustawiony bit w PDRUNCFG, wybrany oscylator (IRC, dzielnik domyslny 256) i przełączony oscylator (bit UEN). Następnie zostaje mu wpisane jego timeout (WDTC=300000) i włączenie z resetem (WDMOD=3). Bezposrednio następne...
Pewnie jest ustawione usypianie wifi po wygaszeniu ekranu i włączona transmisja danych po gsm, zrób jak kolega wyżej napisał a jak już będziesz miał pakiet to wrzuć sobie 3g watchdog'a do kontrolowania zużycia internetu, 300 powinno Ci wystarczyć jak będziesz spokojnie korzystał z dobrodziejstw internetu.
Czyli już wcale go nie wykorzystam, bo teraz mam DSL. Za czasów Neostrady i tego modemu Sagem Fast 1400W, to musiałem w P2P uważać na ilość jednoczesnych połączeń, bo już powyżej 30-40 zaraz się resetował na 2 minuty, żeby pochodzić 30s i znowu się zrestartować. W programie do torrentów musiałem ustawić limit połączeń do 20, bo inaczej modem padał jak...
Watchdog ma swój "silniczek" który kreci się 125kHz. Mikrokontroler mikrokontrolerowi nie równy i jeśli w temacie pisze 328P to na 50 stronie noty mikrokontrolera można przeczytać, że dla tego mikrokontrolera Watchdog można ustawić nawet na 8 sekund. Może to Ci wystarczy. Nie wiem jak to wygląda w Arduino bo jeszcze nie miałem czasu się pobawić, ale...
heh, dziwne ze w ogole ci zadzialalo z takimi ustawieniami... 1. wylacz wszystkie code i write protection 2. primary oscilator source zgodnie z logika powinien byc ustawiony na FRC, a nie na External Clock. 3. jesli nie zamierzasz zmieniac zegarka (np PLLa ustawiac), to mozesz wylaczyc Clock Switching (Sw) i Clock Monitor (Mon). 4. POR Timer daj na...
Zastosowałem Twoje wskazówki ale jest jedno ALE. Oto poprawiony kod: [syntax=c] /* * Watchdog_C.c * * Created: 2018-03-04 08:07:00 * Author : Jakub */ #include <avr/io.h> #include <avr/wdt.h> #include <avr/interrupt.h> #include <stdlib.h> #include <stdio.h> #include "hd44780.h" __attribute__((naked)) __attribute__((section(".init3")))...
Witam, Napisałem program, który wprowadza uC w stan uśpienia. Wszystko działa poprawnie, ale do tej operacji używam dwóch przycisków. Jeden służy mi do usypiania (PA1), a drugi, jako przerwanie do wybudzania uC (PD2-INT0). W jaki sposób mogę zrobić to na jednym przycisku podpiętym pod PD2? Poniżej kod. [syntax=c]#define F_CPU 8000000UL /*czestotliwosc...
reset watchdoga watchdoga atmega kasowanie watchdoga
kolumna tonsil altus mildton zmywarka boscha srv53m03eu junkers maxipower
rower elektryczny gazelle rower elektryczny gazelle
Volkswagen Passat B5 1.9 TDI 90KM – problem z odpalaniem na ciepło po wymianie rozrusznika, hot-start fix ECU ecoMAX 860 P3-C – jak włączyć funkcję nadzoru żaru i zdalny monitoring ecoNET300