Tylko najpierw sprawdź jaka jest maksymalna wartość rejestru IWDG->RLR (Reload register) i czy aby na pewno wartość 10000 się tam mieści.
zastąp signal i stary vektor INTERRUPT0 SIGNAL (SIG_INTERRUPT0) { x++; } na nowsze ISR i INT0_vect ISR (INT0_vect) { x++; } tu masz wszystkie przerwania http://www.nongnu.org/avr-libc/user-manu... a co do watchdoga hmm... żeby użyć #include <util/delay.h> musisz dać wcześciej #define...
Domyślnie będą wyzerowane. Dodając $NORAMCLEAR wyzerowane nie będą. Wybieraj...
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_...
A czy to też nie działa : Config Watchdog = 16 Start Watchdog Disable Interrupts być może Bascom odblokowuje przerwania w starcie watchdoga?
jeżeli w service menu sie resetuje to watchdog nie pomoże. Na początek zasilacz do przemierzenia.
lukasb9 watchdog wlasnie resetuje telefon (nie jest to jakis specjalny wymysl nokii w wiekszosci mikrokontrolerow taka jednostka sie znajduje, ale sluzy z reguly do zabezpieczenia uC przed zawieszeniem).
Ja miałem to samo ale okazało się ze atmega przez tranzystor sterowała mi cewka przekaźnika. Cewka przekaźnika nie była zabezpieczona dioda (dioda była uszkodzona) dopiero po wymianie diody wszystko wróciło do normy.
Działaj w trybie system, a nie user, i po problemie. 4\/3!!
Wprowadziłem poprawkę dla jednego głównego źródła restartów (odczyt temperatury) [url=https://github.com/openshwprojects/... tutaj .
Witam. Spróbuj wykorzystać watchdoga w trybie przerwania nie resetu. W Main'ie błyskasz diodą pierwszy raz, ustawiasz pieska w tryb przerwania, włączasz watchdoga na 1S i usypiasz procesor i następie pętla bez końca i z pustym ciałem. W przerwaniu mrugasz diodą, resetujesz watchdoga i idziesz dalej spać. Sumarycznie będziesz nawet pobierał mniejszy...
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
w programie mam config watchdog=32 , resetuję go w przerwaiu co około 2ms i w zasadzie jest ok , ale czasami program się zwiesi (nie reaguje na przyciski) a watchdog nie resetuje procesora , czy to możliwe żeby program wisiał a przerwania działały ? w programie mam kilka pętli DO...LOOP , czy zrezygnować z resetowania watchdoga w przerwaniu i zrobić...
IWDG ma timeout dopiero po 1,6s, a jest resetowany w tasku FreeRTOSa, który pstryka co 1ms, oraz w innym, który pstryka co 1s lub częściej, jeśli ma coś w kolejce... Jeśli używasz w ten sposób watchdoga, to w sumie możesz go nie używać wcale. Nie zabezpieczy Cię to wcale przed tym, że zawiesi się jakikolwiek inny task, a nawet jeśli zawiesi się jeden...
Jak myślisz o jakimś pojedynczym regulatorze z wyświetlaczem, to proponuję cyfrowe czujniki temperatury Dallas. ATmega32, wyświetlacz LCD, klawiatura (4x4), 1wire (dla czujników), klucze rezystorów w termo-zaworach na tranzystorach Mos-fet, zegar/pamięć RTC z podtrzymaniem bateryjnym (czas i nastawy temperatur). Program powinien zawierać funkcję watchdog,...
1. TJA1040 sam nie może żadnych ramek wysłać, gdyby mógł, wysyłał by i w aucie, i na stole (dla ścisłości, nie "reset watchdoga" tylko zawieszenie MCU, wtedy watchdog resetuje MCU) 2. gdyby TJA1040 odbierał po sieci info nakazujące reset IPC, działo by się to na każdym podłączonym liczniku, nie tylko na tym jednym 3. TJA1040 jeżeli robi coś, czego konstruktor...
Jaki to model procka, bo to że watchdog resetuje ram nie jest normalnym objawem w systemach mikroprocesorowych.
Watchdog?
może to watchdog resetuje procka?
Pachnie jak kondensatory, szczególnie na zasilaniu scalaka od przetwornicy, zakładając że to fly-back. Lub przeciążenie (wewnętrzne). Ja bym zaczął od pomiaru kondków i jak się nie znajdzie to poodłączał co się da z obciążeń, ale nie wiem co ten model ma w środku. No i kolejna opcja jakiś watchdog w procesorze.
Witam Chce zbudowac uklad ktory bedzie resetowal kompa jesli co okreslony czas (ok. 1 min) nie zostanie podany na jego wejsce impuls. Uklad po wytworzeniu sygnalu restartu musi czekac (ok 3-5 min) zeby komp sie uruchomil i zaczal wysylac impulsy. Czy ktos mialby koncepcje jak to zbudowac. Glowne pytanie to jak zrealizowac timery o tak dlugich czasach?...
Niestety ale nie pomogło poza tym watchdog resetował by go w równych odstępach czasu a nie przy wyjściu z funkcji.
A nie lepiej jakiś router z linux-em na pokładzie gdzie watchdog resetuje router jak brak dostępu do neta ? Albo jakiś mikrotik.
Watchdoga musisz kasować co chwilę Nie musi. Po resecie program ma wstać a w tym przypadku kontroler się zawiesza.
Kolego WatchDog resetuje uP i raczej nie policzysz 'resetów'. Jak już to w pętli oczekującej wstaw dodatkowy warunek po przekroczeniu, którego program 'pójdzie' dalej. Np: i = 0; while((i<1000) && (!dzwonek)) i++; //dalsza część np. if(i == 1000) { //nie było dzwonka - ale uwaga co w momencie gdy dzwonek...
Witam, można sprawdzić. Jak wynika z komunikatów wczytały się słowa konfiguracyjne. Normalnie jest to kombinacja znaczników, która człowiekowi niewiele mówi i należałoby to porównać z dokumentacją. Na szczęście MPLAB zamienia to na postać zrozumiałą dla człowieka. Trzeba wejść do menu konfiguracji procesora i obejrzeć ustawienia: typ oscylatora, watchdog,...
Witam. Mam następujący problem - w pracy napotkaliśmy sytuację, gdy jest z programów (pisany na ATxmega256A3) potrafi się zawiesić w trudnym do określenia momencie. Jest to kłopot, natomiast pojawił się większy, mianowicie watchdog nie resetuje urządzenia. Jakie mogą być tego przyczyny? Moje przypuszczenia: 1. Pisanie po adresach pamięci zarezerwowanych...
Moim zdaniem: 1. w ogóle nie potrzebujesz trybu CTC. Normal w zupełności wystarczy, ale to szczegół. 2. Watchdog resetuje Ci procka. Od momentu uruchomienia do 1 resetu masz "waitms" na co najmniej 1100ms a ustawiłeś go na 1024ms. Ale ja nie znam/nie używam BASCOMa więc moje uwagi sam zweryfikuj na poprawność.
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 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...
Zasilanie całości prawidłowe? Tzn pewnie i tak zasilasz z USB, ale możesz sprawdzić czy napięcia są prawidłowe za stabilizatorem etc. Exception swiadczy o problemie z wykonywaniem programu, jak powoduje to kod od WiFi to może spróbuj wyczyścić pamięć i wgrać nowy firmware. rst cause 2 to wygląda na wciśnięcie przycisku reset. Nie rób tyle delayów bo...
Witam, z wlasnego doswiadczenia niestety musze Cie troche zalamac... Ta usterka pojawia sie w tych fonach z reguly po upadku... Na 5 sztuk, ktore mialem z tymi usterkami wszystkie 5 mialo uszkodzone mechanicznie plyty glowne... Brakuje jakiegos sygnalu i watchdog resetuje proca... Mam nadzieje, ze w Twoim przypadku cosik sie da jeszcze zrobic z fonem......
Bigfoot: tak jak napisał _Matik_ - watchdog resetuje transmicje w 'połowie'.. bezpośrednio po restarcie procka ten zaś zaczyna wysyłać dane.. w wysyłanych danych niema odstępu większego niż 11 bitów ciszy i komputer niemoże odnaleźć który bit jest bitem startu (to powoduje pojawianie sie różnych znaczków). jeśli dodasz 1ms na początku kodu, to po resecie...
Też podejrzewam takie przyczyny. Pytanie tylko - dlaczego watchdog nie działa?
reset powodowany jest blokada procesora "watchdog" resetuje procesor przy braku aktywnosci w zaleznosci jak szybko robi reset po starcie to powinienes przegrzac hotairem. jezeli od razu po nacisnieciu power_a ---> przegrzac czesc procesorowa jezeli po 2-3 sek ----> czesc radiowa najlepiej podlaczyc kabel com ( t28 serial ) i pod terminalem sprawdzic...
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?...
A nie masz tam czasem włączonego jakiegoś Watchdoga czy czegoś takiego co Ci resetuje procka? :)
Ponieważ nie pokazałeś programu na ATtiny i nie podajesz jak RPI resetuje timer watchdoga, stąd poniższe przypuszczenia. Zapewne RPI jednym z pinów jest połączony do ATtiny by resetować timer. Prawdopodobnie w programie ATtiny sprawdzasz stan tego pinu i odpowiednio reagujesz zerując timer watchdoga. Jeśli pin ten pozostawiasz jako wejście niepodłączony...
Oj kontemplujecie ze wzmacniaczami operacyjnymi a to nie jest takie proste....Transmisja dzwieku przez swiatlowód jak i przez kabel coax w postaci cyfrowej ma dosyc pokombinowany skład. 1. Jesli karta nie odtwarza dzwieku, to przez łącze są "taktowane" same zera 2. Jesli karta gra to SIE układa sample jeden po drugim z ilustam kanalow i wysyla strumieniem....
Sprawdziłem układ i jest trochę lepiej. Po inicjalizacji i zastosowaniu własnego opóźnienia procesor zatrzymuje się. Watchdog resetuje procesor ale procesor nie zaczyna pracy od nowa. [syntax=jezyk_programowania] WDTCSR=0x39; WDTCSR=0x29; i=0; // #asm("wdr") #asm("sei") czysc(); while (1) { i++; c=i%10;a=i/100;b=i/10;b=b%10; wypis2(a+'0',23);wypis2(b+'0',24);wypis2...
wygląda na to, że powodem jest resetowanie watchdoga --- dlaczego takie urządzenie miałoby się zawieszać wiele razy dziennie?
Dokładnie tak. Przedstawiony sposób jest jednym z najlepszych bo zawsze program może sie zawiesić w jakiejś pętli gdzie WatchDog jest resetowany. A zastosowanie Timera i flag w 99% rozwiązuje ten problem.
Witam W dokumentacji pisze tak: "To enable the WDT, a user must write 01EH and 0E1H in sequence to the WDTRST register (SFR location 0A6H)." Czyli taki kod powinien go załączyć?: mov 0A6H,01EH mov 0A6H,0E1H Dobrze to rozumiem? Idąc dalej: "When the WDT is enabled, the user needs to service it by writing 01EH and 0E1H to WDTRST to avoid a WDT overflow."...
Przeanalizujmy genezę usterki: zanim rozebrałeś radio było wszystko OK. Samsung dostał za swoje, bo nie chciał się " rozblokować " i teraz watchdog resetuje procesor, gdyż algorytm widzi uszkodzony któryś port. Maska samsunga TWR9 > patrz Intek M-790 plus, alan 48/78 plus multi = OPT3 rozwarta, PX i powinno śmigać. ...pod warunkiem, że CPU przeżył w...
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....
Sprawdzałem na symulacji, program zawiesza się w znanym mi miejscu, z nie do końca znanego powodu, watchdog go resetuje i tak w kółko, jeszcze trochę przy nim posiedzę. Fuse bity prawidłowo ustawione.
Włączył Ci się "hardware watchdog". Zrób "mass erase" a następnie albo wyłącz "hardware watchdog", albo skasuj też obszar "option bytes" (lub przywróć tam wartości domyślne).
Powinieneś tak napisać program, aby taki reset nie był potrzebny a jeśli upierasz się przy tym to wykorzystaj WATCHDOGa. a jak wprowadzisz procek w tryb bootloadera (myślałem, że tego chce autor)? Jeśli chcesz resetować procka to faktycznie najłatwiej watchdogiem.
WatchDog tylko resetuje komputer (tak jak przycisk reset na obudowie). Żeby komputer wstawał po zaniku zasilania musisz ustawić odpowiednią funkcję w biosie. Po powrocie zasilania komputer odpala się, ładuje system operacyjny i odpala program rejestratora (skrót musi być w autostarcie), i rejestruje tak jak przed zanikiem prądu.
Może to być Watchdog, który w PICach domyślnie jest włączony. Ty go nie resetujesz, za to on resetuje PICa. Wyłącz watchdog używając fusebitów.
Następne pytania: Bezpieczniki będą w oprawkach na obudowie czy wewnątrz? Przyciski można by było zgrupować razem ale w czasie programowania nie mógłbyś naciskać ESC bo to by zakłóciło programowanie, napisz jak chcesz? Układ watchdog jest w uP sprzętowy i po określonym czasie resetuje uP, nic nie trzeba robić na zewnątrz.
Nie ufam zewnętrznym watchdog-om, które resetowane są przez pin mikrokontrolera, ale może to przesadne podejście do tematu :)
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...
na wyświetlacz timera nie potrzeba, jeśli to zwyklły 16x2 to on nie wymaga zbyt wiele. Timery wtedy możesz na inne rzeczy wykorzystać. Jak odczytujesz temperaturę? Wykorzystujesz watchdoga, resetujesz go właściwie?
AVE... Watchdog timer to specjalny zegar w mikrokontrolerze, który resetuje układ, jeśli ten się zawiesi. Brown-out reset to z kolei układ, który resetuje i wyłącza mikrokontroler, jeśli napięcie zasilania spadnie poniżej poziomu, przy którym układ pracuje stabilnie... Na moje oko odczytało Ci program poprawnie. Podłącz nowy mikrokontroler do programatora,...
Witam Mam komputer z kartą wizyjną Novus NVB200 -8MPG Komputer pracuje stabilnie i bezproblemowo do chwili kiedy nie podłącze się zdalnie tj; przez LAN (dokładnie WIFI) programem DVR NET lub przez IE7 do komputera. Po podłączeniu w losowym czasie buzzer karty zaczyna piszczeć i watchdog resetuje komputer. Czasem jest tak, że po podłączeniu się wszystko...
Dziękuję, zaczynam testować układ. Odpowiem jakie efekty po testach. Już widzę to dobrze. Sprawdziło się, watchdog pracuje już poprawnie. Dzięki tej aplikacji upewniłem się, że przyczyna tkwi przy komunikacji i2c z układem SAA1064. Nieregularne resetowanie procesora spowodowane było 'pikami' napięcia pochodzącymi z przeciążonej chwilowo linii zasilania....
[syntax=c] for (struct do_fora brzydko = {.a = 0} ; brzydko.a <= 15; brzydko.a++){ wdt_reset(); // resetuj watchdog wr_byte(pgm_read_byte(&const_lcd[brz... brzydko.a++; brzydko.micro_buf = (pgm_read_byte(&const_lcd[brzydko.a]... for(uint8_t b = 0; b < brzydko.micro_buf; b++){ _delay_us(40); // <----- ten czas u ciebie jest za...
A resetujesz watchdoga?
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...
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ć...
Twoje działa, ale moje nie działa. Wklej mój kod w kompilator i zobacz co się dzieje [syntax=Bascom] $sim $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 Cursor Off Noblink Cls Dim Cool As Word ' zmienna określająca wypełnienie...
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...
Watchdog tylko resetuje układ nic więcej, ale masz w rejestrze MCUCSR : • Bit 1 – EXTRF: External Reset Flag This bit is set if an External Reset occurs. The bit is reset by a Power-on Reset, or by writing a logic zero to the flag.
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...
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...
Raz uruchomionego watchdoga nie da się zatrzymać :) Dla trybów uśpienia trzeba użyć WWDG i jest tam taka opcja jak wywołanie przerwania od WWDG na krótki czas przed resetem przez niego systemu. W przerwaniu resetujesz watchdoga i tyle.
Nie wiesza się, tylko wykonuje nadzwyczaj sumiennie to co napisałeś w programie: No bez przesady, gdyby robił to co jest w pętli, bym tutaj nie pisał. Po wejściu w podprogram Paletyzacja lub Uszczelnianie procek się wiesza i watchdog go resetuje. Za "laboratrium" dzięki a jeśli chodzi o kontraktrony to w necie też jest używana ta nazwa.
A moze wiesza sie sama obsługa I2C lub jakes przerwanie, a WATCHDOG jest i tak resetowany w pętli głównej więc nie dochodzi do resetu procesora.
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.
Fuses (hex): D8 23 Jeśli D8 to high fuse to masz RESET VECTOR ustawiony na inny obszar pamięci niż standardowy, a używany zwykle z bootloaderem. Tak ma być? Jeśli nie, to ustaw domyślne czyli D9 Niby BOD masz włączony... a działa chociaż? Atmega przy napięciu np 3V5 powinna być w stanie reset. Dla mnie ta atmega jest niepewna, bo masz watchdog który...
Podoba mi się autonomiczność, jednak problem z zawieszaniem przy logowaniu faktycznie może irytować. A czy ESP nie ma watchdoga? Mógłbyś zrobić mniej więcej tak: 1. start urządzenia 2. uśpienie na 5 min. 3. wybudzenie i logowanie 4a. jeżeli logowanie się udało to aktualizujemy wyniki pomiarów na serwerze 4b. jeżeli logowanie nie powiodło się i program...
No to już jest dziwne. Spróbuj wywalić te funkcję resetujące system (zakomentuj komendę Config Watchdog i wszystkie komendy Start Watchdog). Może system Ci się resetuje zamoczynnie po jakims czasie.
Mam problem z zresetowaniem układu służącego do komunikacji radiowej -rfm12. W nocie katalogowej czytałem że da się to zrobić programowo poprzez wysłanie komendy FE00h. U mnie jednak to nie che działać. Potrzebuje tego do wybudzania układu po zadziałaniu w programie Watchdoga. Resetował ktoś może ten układ programowo?
Apr 30 12:04:59 kernel: Taki błąd dostaje się jak radio jest podłączone przez PCIexpress a zasilanie jest kiepskie lub/i sprzęt przegrzany. Pewnie na tym ci zwisa i watchdog go resetuje, jak ci resetuje samo wifi to i tak nieźle :) Popraw chłodzenie urządzenia i odłącz od niego wszystko co zabiera prąd powinno się poprawić, chyba, że przeciążyły się...
złamana ośka w silniczku . Otwierasz wymieniasz i działa dremel wiertełko i kawałek druty i 15 minut Może kolega ma powalającą wiedzę ale z myśleniem nie za bardzo. Jak mechaniczne uszkodzenie silnika może mieć wpływ na działanie drugiego silnika oraz wyświetlacza? Ta ysterka jest zawsze taka sama Życie było by zbyt proste gdyby to było prawdą. Na...
Ja budowałem sterownik pieca, z trzeba przekaźnikami, LCD i termometrem DS1820. Co pewien nieokreślony czas wieszał się odczyt termometru, a po chwili watchdog resetował uP. Niestety termometr nie wstawał. Okazało się, że nie wlutowałem jednego kondensatora w zasilaczu (bodajże 47nF po stronie wyjściowej stabilizatora). Resety występowały właśnie podczas...
Pojemność 2000uF to gruba przesada, pewnie wystarczy np. 0.68uF (MKSE) i opornik 10M; problemem może być stopniowe wyłączanie, bo przez parę sekund MOSFET będzie się grzał - jeśli to grzałka o sporej mocy, to MOSFET może się przegrzać. Lepiej albo zrobić tak, żeby wyłączał go watchdog, który resetuje system, albo zrobić układ formowania impulsu (np....
a moze masz wlaczonego Watchdoga?
Ok... w takim razie nie mam innych pomysłów, co w programie mogłoby powodować ten problem. Program jest rozległy, ale jednocześnie jest to po prostu długachny ciąg warunków, bez szczególnie dużych rozgałęzień, w nim nigdzie nie ma żadnej możliwości na "zamrożenie" urządzenia, a przynajmniej ja takiej możliwości nie widzę (tak, wiem, to "ja" może być...
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...
A watchdog masz wyłączony?
STM32L011D? Pamięć niestety niezgodna z Twoimi wymaganiami, bo aż 8KiB. Robiw lubi AVR. Praktycznie każdy nowy Tiny czy Mega nadaje się do tego co chce zrobić. Użycie watchdoga ma tą wadę, że resetuje uC. 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.
Witam serdecznie! Mam problem z programem do obsługi rejestracji pilota RC5. Mianowicie program resetuje się po 2s. W tym czasie rejestracja działa bo moge zaprogramować max 2 przyciski. Podejrzewam, że winny może być watchdog. Ale co z nim zrobić? Na FS jest włączony. Może programowo coś zmienić? Oto fragment kodu z procedurą rejestracji: Pilot:...
Witam, Uruchomiłem watchodoga w ten sposób: [syntax=c]RCC_APB1ENR.B11 = 1; // Enable clock gating for Watchdog Timer 0 module WWDG_CFR = 1; // Write window value to be compared to the downcounter WWDG_CR = 0b10000000; // Enable the watchdog while (1) // Endless loop, WatchDog_Timer will reset ARM[/syntax] Procesor pieknie sie resetuje, co widzę po tym,...
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...
Wiem że nie mogę rozkręcić ani tknąć śrubokrętem. Ale bardziej myślałem czy coś można ustawić na ruterze np myślałem nad watchdog żeby ruter się sam resetował, bo pomimo tego że coś jest uszkodzone to udało mi się 2 razy włączyć ruter tak że działało wszystko. Niestety zapomniałem wyłączyć automatyczny reset co niedzielę o 4 i przez to dzisiaj nie mam...
To nie w bascomie tkwi problem, tylko w kompilatorze C, według symulatora na wyjściu powinien być stan wysoki, czyli 5V, wygląda to tak jakby port był w stanie wysokiej impedancji. Sprawdź częstotliwość na tym pinie, bo podejżewam że procesor nie wchodzi prawidłowo w pętle i się resetuje co chwile, najlepiej byłoby to zrobić na oscyloskopie, ale częstotliwościomierz...
wylacz watchdoga i naucz sie czytac dokumentacje. bascom tego za ciebie nie zrobi. 0x41 0x56 0x45!!
Urządzenia tego typu ogólnie nazywają się watchdog. Jest tego mnóstwo. Na przykład: http://sprzet-sieciowy.pl/watchdog/7692-...
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...
chciałem zrobić wstawkę asemblerową dla watchdoga ale to już nie istotne bo nauczyłem się ustawiać poszczególne bity w rejestrach i rozumiem że to wystarczy... ale problem istnieje przesiadłem się na atmega1284p tu jest watchdog do 8 s no i dla 8 nie działa 4,2 i 1s również nie działa, działa dla 0,5 i mniej - dlaczego??? dla 0,5 s wdr Wdtcsr = &B00011101...
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...
Wydaje mi się że gdyby watchdog był włączony to uP resetował by się przy każdej dłuższej funkcji opóźniającej i dla wszystkich temperatur a nie tylko dla tych poniżej 10 stopni...
Choć to nie najlepsze rozwiązanie, to resetuj watchdog'a w przerwaniu timera. Nie zabezpieczy to przed wszystkimi problemami, ale może pomoże. Innym rozwiązaniem jest zewnętrzny watchdog o długim czasie odpowiedzi.
Boisz się zawieszenia sterownika, czy usterki wejść/wyjść? Bardziej obawiam się zawieszenia sterownika. Ale poruszyłeś bardzo ważną kwestię z tą usterką wejść/wyjść. Przy moich założeniach, jeśli uszkodzi się wyjście to watchdog będzie namiętnie resetował PLC. :-D Masz możliwość ingerencji w program? Tak. Co to za sterownik i jaka maszyna? Sterbox....
najprawdopodobniej problem pojawia się przy pętlach while. po prostu żądany stan nigdy nie występuje i dlatego program kręci się w tej pętli w nieskończoność. proponowałbym zrobić transmisję po i2c na przerwaniach. sam to przerabiałem więc wiem ile z tym babraniny ale opłaca się. przynajmniej masz zawsze pewność że program nie zwiśnie.. połowicznym...
zamiast psuc ci komorke o adresie 0 psuje ci losowa komorke pamieci EEPROM. Male pocieszenie. Wydaje mi się, że w zamyśle projektantów było ulepszenie rdzenia AVR i dlatego po resecie wartość rejestru adresowego nie jest zerowana. Jest ona niezdefiniowana tylko po POR, natomiast kiedy watchdog resetuje rdzeń, to zarówno wartości w RAMie (sekcja .noinit)...
W tym mikrokontrolerze (tak jak piszesz) możesz ustawić Watchdog tak, że nie resetuje mikrokontrolera, tylko zgłasza przerwanie, które budzi mikrokontroler. Tak ustawiony mikrokontroler po wykonaniu przerwania Watchdoga wraca do miejsca, w którym został uśpiony i wykonuje dalej program, czyli np. pętlę główną. Aby ponownie wszedł w Power Down musisz...
Kod będzie dział inaczej niż z "for". Problemem jest, jak wyżej napisałem blokowanie mikrokontrolera na czas jazdy silnikiem i jego resetowanie watchdogiem. AccelStepper powinien działać. Możesz też przenieść obsługę silnika do przerwania timera.
watchdog bascom resetuje mikroprocesor watchdog zresetować watchdog
zerowa licznik licznik sonoff temperatura ustawienia fabryczne xiaomi
traktorek silnik briggs traktorek silnik briggs
Przebieg pracy sondy NBO na oscyloskopie KIOXIA Flash Memory 983E980376E4 Firmware Download Guide