A czy to też nie działa : Config Watchdog = 16 Start Watchdog Disable Interrupts być może Bascom odblokowuje przerwania w starcie watchdoga?
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...
Tak. Tyle że ustawiana jest jeszcze flaga która pozwala potem zobaczyć że to WatchDog spowodował reset.
Bierzesz najprostszy i najtańszy mikrokontroler, który ma watchdog oraz timer umożliwiający odliczenie czasu, który oczkujesz i wykonujesz watchdog we własnym zakresie i dowolną funkcjonalnością. Watchdog w tym mikrokontrolerze także jest potrzebny, by Twój watchdog był odporny na problemy. :)
Watchdog?
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...
Po kolejnych oględzinach sprawdziłem, że ów "IS" znajduje się na przednim panelu i prawdopodobnie jest to jakiś watchdog na ATmega. Jakby ktoś kiedyś potrzebował, to dołączam instrukcję serwisową.
A watchdog masz wyłączony?
Jaka jest przyczyna, że nie można bezpośrednio korzystać z wbudowanego w AVR PWM-a ? Można w tym celu dać np ATtiny10 do samego PWM. Na zwiechy jest watchdog, na spadek napięcia - BOD... Co do transoptorów do MOSFET - TLP250
Po co ta kombinacja z INT0? Skoro watchdog wybudza Ci procesor?
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...
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...)
Wykorzystuję plik avr/wdt.h do obsługi watchdoga w ATmega. Jednak zdefiniowane stałe są za krótke ponieważ łączę się poprzez HTTP z bazą MySQL. A odpowiedź może potrwać nawet minutę. Czy jest jakiś łatwy sposób na wybranie dłuższego czasu reakcji watchdoga?
Jest kilka możliwości. Tak samo w Bascomie jak i w każdym innym języku/kompilatorze. Można uruchomić WATCHDOGa i odczekać w pustej pętli aż zresetuje, można połączyć dowolne wyjście mikrokontrolera z wejściem resetu i zresetować, gdy potrzeba. Np tak: CONFIG WATCHDOG = 16 start watchdog do:loop A dlaczego chcesz resetować? Nie lepiej napisać program...
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?
oraz "the frequency depends on supply voltage, temperature and batch variations" WD nie służy do precyzyjnego odmierzania czasu. Zobacz w nocie jak zależy od podanych parametrów, a okaże się, że to raczej nie ma większego znaczenia. Zewnętrzny WD często oferuje znacznie szerszy zakres wartości limitów czasu. Ma to znaczenie w szczególności w aplikacjach...
Watchdog.
Dla tych co mają problem z pf_mount (raz działa, jak się zrestartuje proc to już nie, itp.) proponuję PRZED użyciem tej funckcji wpisać takie coś: #include <avr/wdt.h> wdt_enable(WDTO_2S); res=disk_initialize(); wdt_disable(); To ta funkcja (disk_initialize) sprawia że pf_mount się zawiesza (disk_initialize siedzi w pf_mount). Więc wyołujemy ją...
- Każdy Ds na 3 przewodach, rezystor podciągający 4k7 przy każdym DS-sie czyli daleko od procka - Napięcie powrotne z DS na pinie Data to 4,95V - Zasilanie przetwornica step- down 24VDC-5VDC - stabilne dobrze odfiltrowane. - Reset sterowany z zewnętrznego Watchdoga Atmega się nie resetuje bo komunikacja po Modbusie TCP chodzi non stop, mam odczyt który...
A jest 1.11.9.3 Dla attiny na pewno lepsza. Może dla atmega też.
http://www.elektroda.pl/rtvforum/topic48... Cytat: Nie wiem czy to jeszcze aktualna uwaga, ale miałem ten sam problem, a po wczytaniu się w dokumentacje pisze tam że po włączeniu watchdoga i zresetowaniu układu - watchdog nie jest wyłączonay ( bit WDE w rejestrze WDTCSR nie jest zerowany ). Musisz jako pierwszą instrukcję w programie umieścić...
(at)tmf - podejrzewam, że pobór jest całego układu w tym podświetlenia LCD więc może pobierać 0.2A; Hero - czy procek się grzeje? Czy masz watchdog timer wykorzystywany? Czy masz BOD?
Witam! Nie działa mi taki kod: [syntax=c]#include <avr/sleep.h> #include <avr/power.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <avr/wdt.h> int watchdog_counter=0; void watchdog_init() { cli(); wdt_reset(); WDTCSR |= (1<<WDCE) | (1<<WDE); WDTCSR |= (1<<WDIE)...
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...
Jeszcze kilka uwag co do kodu. Jak już będziesz robić tę lepszą wersję, to koniecznie włącz watchdoga. To jest podstawa, aby mikrokontroler został zresetowany, gdy hardware wejdzie w dziwny, nieustalony stan. Skonfiguruj też Brown-out detection. Jak będziesz robił protokół do komunikacji, to uwzględnij też komunikaty zwrotne wysyłane z mikrokontrolera,...
wymyśliłem z konieczności drugi układ na ARDUINO który będzie kontrolował jedną nóżkę ARDUINO ze Sterownika i jak przestanie podawać impulsy to znaczy że się zawiesiło i wtedy ten układ dodatkowy przerwie napięcie zasilania na kilka sekund i zresetuje cały układ. Myślę że to rozwiązanie choć nie profesjonalne to spełni swoją rolę bo niema nigdy pewności...
Rozumiem że program ustawia cały port B na wyjścia i ustawia na logiczną jedynkę PB1,PB4,PB6? A w programie nie powinno być jakiejś pętli nieskończonej? Wiem że w C (AVR-GCC) to aż tak bardzo nie boli bo program i tak po wyjściu z maina w nią trafi, ale w asm nigdy nie pisałem całego programu. Pozdrawiam Dodano po 6 a WDT to watchdog, jak go nie masz...
Chcę wykorzystać w programie informację o przyczynie resetu procesora. Odczyt rejestru MCUSR realizuję zgodnie z dokumentacją, wiadomo: char MCUSR_string jest o wiele za krótka, mimo, że najdłuższy string ma teoretycznie 22 znaki łącznie z nullem. Wyświetlany napis jest ucięty. Jeśli wydłużę łańcuch do np 40 znaków, to napis pojawia się w całości. Czy...
Czy zdarzają się tego typu uszkodzenia atmegi? Biorąc pod uwagę info z tego forum, tak co druga atmega wychodzi z fabryki uszkodzona. Rzeczy z tymi procesorami dzieją się niesamowite a ludzie pracujący w Atmelu powinni zająć się czymś innym. Masz wyłączonego watchdoga fusami? Druga sprawa to przycisk masz na PD0 a sprawdzasz stan na PD3. Chcesz sprawdzić...
A po co chcesz zbudować takie dziwactwo? Ptrzecież w Arduino siedzi ATMega, która posiada już watchdoga. Dodawanie takiego ukłądu zewnętrznego kompletnie nie ma sensu.
A skąd wiesz, że się nie wykonuje? Jedyne co widzę, to to, że w przerwaniu zerujesz wyzerowany port. To raczej trudno zauważyć.
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...
mc1525tt, no load current typical 86uA. Byc może to pobór prądu bez obciązenia stabilizatora mc1525tt. Jesli atmega da sie wyjąc (na podstawce?) to mozna by wtedy sprawdzić. Dodano po 3 Chyba nie doczytałem opisu. Sorry. Dodano po 56 Ale tak czy inaczej jeśli nie mamy pomysłu to trzeba chyba odłączać po kawałku podejrzane rzeczy. Dodano po 2 Zacząłbym...
Cześć !!! "Bajery" i pomiar temperatury to sporo ciekawych rzeczy jak dla maluszka. Sam kiedyś miałem to wiem. Ale rozumiem, że obrotomierza i LCD nie dawałeś :):) Jak spróbujesz się podłączyć pod instalacje zapłonową to zobaczysz jaka jest radocha z zabezpieczeń :) Atmega to dobry procesor i jak stosujesz WatchDoga to właściwie zawieszeń nie uświadczysz...
Witam Buduje urządzenie zasilane bateryjnie oparte na atmega169p. Procesor jest zasilany z około 2.6V i pracuje na zewnętrznym oscylatorze 1.8432MHz. Procesorem wysterowuje wyświetlacz LCD (4 wspólne + 12 segmentów). Problemem jest pobór prądu w czasie uśpienia procesora. Nie mogę zejść poniżej 100uA w power save mode. Brownout i debug mode wyłączone....
Problem masz gdzieś indziej. W kompilatorze Codevision funkcja systemowa delay ma wewnątrz kasowanie watchdoga. Spróbuj zamienić ją na pętlę while(1); a powineś zuważyć efekt zadziałania watchdoga.
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.
I jeszcze jedno - WŁĄCZ watchdoga !!!!! Jak nie zatrybi na początku to sie procek sam zresetuje i wystartuje raz jeszcze. Ustaw maksymalny czas w preskalerze watchdoga tak aby wystartował jak najpóźniej.
Hmm, może warto całkiem zmienić koncepcję i wykonywać reset procesora... programowo. Można to zrobić na 2 sposoby, albo skokiem pod adres wektora resetu (czyli bootloadera), albo wykorzystując watchdog'a.
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.
Trochę bez sensu, kontroler ma watchdoga, a jak się uszkodzi to nie ma co go budzić ;-)
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.
... fajne :) , Ja u siebie w Fiaciku kiedyś też taki układ zrobiłem po swojemu . Był podobny do tego , również na kontraktach z tym ze ja zrobiłem dodatkową opcje która wyróżniała mój projekt . Mianowicie , jeśli wróciłem do samochodu przed upływem 30 minuty od zamknięcia centralnego a tym samym szyb , to po otwarciu zamków szyby opuszczały sie do takiego...
XMEGA zasadniczo nie da się zablokować - nie mamy tu uciążliwych fusebitów od kwarcu tak jak w ATMega. Ehe. Zmieniłem coś w WatchDog i do widzenia. Xmega32 w zdechła.
#define WDP_16K 0 // ~16ms #define WDP_32K (1<<WDP0) // ~32ms #define WDP_64K (1<<WDP1) // ~64ms #define WDP_128K ((1<<WDP1)|(1<&... // ~0,13s #define WDP_256K(1<<WDP2) // ~0,26s #define WDP_512K((1<<WDP2)| (1<<WDP0)) // ~0,5s #define...
zastosuj atmega 88PA Faktycznie jest to dobre rozwiązanie. Bez zewnętrznych elementów, można wykorzystać watchdog timera. Dzięki.
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...
ATMEGA8 nie posiada WDT_vect, takie przerwanie wystepuje natomiast w ATMEGA 88 .
Witam, jaki problem chcesz rozwiązać? Pokaż treść zadania. Temat podobny do poprzedniego, w którym też brakuje pytania. Pozdrawiam.
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...
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....
A może jednak masz watchdog włączony? Na jakiej optymalizacji kodu pracujesz? Return 0; jest zbędne.
Do ATmega nie potrzeba dodatkowych układów resetu, gdyż jest wyposażony zarówno w Watchdog-a, jak i Brown-Out Detector... Czytajcie ludzie dokumentację...
Natomiast drążąc dalej temat jak wyjaśnić to, że na atmedze16 przy identycznej kofiguracji fuse'ów wszystko działało elegancko? Na procku ATmega162 ale podobnie na ATmega88 itp ... też działa elegancko. Tyle, że trzeba doczytać w nocie i pamiętać, że domyślnie Watchdog jest włączony. I wcale nie trzeba go zaraz fusami wyłączać bo po co? Może się często...
Mój ulubiony "kwiatek" :) Gosub Wybor Wybor: Potem mamy masę gosub'ów bez poprawnego wyjścia. Generalnie program źle napisany. Piszemy programy tak by subrtyny mogły się kończyć i nie zagnieżdżamy nadmiernie podprogramów. To nie watchdog tylko przepełnienie stosu. Chociaż i watchdog może w kilku przypadkach resetować, zwłaszcza tam gdzie jest WAIT...
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...
...no tak czytam pdf'a atmegi i faktycznie ten watchdog jest taktowany z własnego zegara...jedyne co mu może przeszkodzić to problemy z zasilaniem...ale na szczęście atmega ma też BOD'a :)... jeszcze pytanie z innej beczki...mam zewnętrzengo EEPROM'a, w którym zapisuje raz na miesiąc jakieś ważne dane...z racji tego, że muszę czasem coś zapisać nie...
Wyłączyłem watchdoga i sterownik przestał się zawieszać. Dlaczego ? Płytka przeprojektowana. wieczorem podeślę schemat.
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, napisałem dwa kody na obsługę i2c master(atmega644p): /* * main.c * * Created on: 16 lut 2018 * Author: Mirosław Kardaś * web: www.atnel.pl */ #include <avr/io.h> #include <avr/interrupt.h> #include <string.h> #include <util/delay.h> #include <avr/wdt.h> #include <avr/pgmspace.h> #include <avr/eeprom.h>...
Schemat poprawiłem. Zmieniłem w pierwszym poście. Faktycznie, aż miło popatrzeć. Sam czasem się wkurzałem szukając ścieżki. Pomierzyłem jeszcze prądy: Atmega + SD - 220 mA Atmega bez SD - 140 mA atmega bez LCD i bez podświetlania - 84,9 mA Atmega z LCD bez podświetlania - 88 mA W założeniu ma to być: - pomiar z siedmiu DS18B20 - pomiar z dwóch czujników...
Witam Mam kilka pytań odnośnie projektowanego przezemnie urządzenia: 1. Schemat 1.Potrzebuję zasilić układ 5V,zewnętrzne źródło napięciowe to 12V, układ ma mieć zabezpieczenie odwrócenia polaryzacji ( ma działać przy dowolnym włożeniu masy i zasilania )- stąd mostek Gretza. Układ musi mieć zabezpieczenie przeciwprądowe (bezpiecznik na wejściu). Czy...
Ale teraz jak mam funkcje do migania diodą co sekundę to znowu miga jak powalona :/ jak sobie tą funkcje umieszcze w while i tam mam ze ma zmieniac co sekunde stan. No to porównaj, to co dołożyłem, z tym co było i dorzuć w swoim programie tak samo odpowiedni plik nagłówkowy na początku oraz <wdt_reset();> na początku pętli głównej, albo wyłącz...
wlasnie o pujscie w maliny mi chodzi - inny program po jakims czasie dziwnie mi sie wiesz - czas jest uaktualniany a temperatura nie. chce wylapac moment ze temperatura stoi - czujnik nie reaguje i wowczas wykonac reset procka. Mozesz krotki przyklad na obsluge dac? Cos prostego byle zawieralo kompletna obsluge watchdoga - uaktywnienie, reset itd. Pozniej...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Dodatkowo w przypadku wystąpienia takiego timeoutu trzeba by obsłużyć jakoś błąd magistrali: http://obrazki.elektroda.pl/2162467700_1...
witam. od kilku dni probuje rozwiazac pewien problem. mianowicie ucze sie programowac avr'y i postanowilem zrobic budzik. jednak problem zaczal sie gdy zaczalem dzialac na przerwaniach. na wejscie int2 podany mam sygnal o czestotliwosci 1Hz. ma on co sekunde powodowac przerwanie w ktorym jest odczyt zegara oraz wyswietlenie go na wyswietlaczu 2x20 znakow....
Atmega8L możesz spokojnie zasilać bezpośrednio z baterii 3V, do tego tryby głębokiego uśpienia i po kłopocie. Jeśli mnie pamięć nie myli, to uzyskałem w jednym projekcie 20uA. Programowy watchdog, licznik wybudzeń i masz urządzenie, które teoretycznie podziała kilka lat na jednej dobrej baterii.
Watchdoga ustawiam na początku w configu tylko, prawda? Atmega 32 więc w fusebitach nigdzie nie znajdę tej funkcji. Czy się mylę? Czemu poległem już na początku? To jak powinno być. Wotchodoga pierwszy raz używam i dlatego nic o nim nie wiem :/
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ę...
Dzień dobry, witam wszystkich. Mam problem z wstawką asemblerową do języka C. Programuję procesor atmega2560. Nie rozumiem dlaczego nie działa funkcja "asm volatile ("mov r21,MCUSR");". Chcę dzięki niej przenieść wartość rejestru mcusr do rejestru r21. Lista błędów w załączniku. Wiem, że one wprost mogą nie wskazywać na to, że ich źródłem jest ta linijka...
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ć...
podciagnoles cos do pinu reset?
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.
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...
Wielkie dzięki za pomoc nadzieja wróciła , adres wyświetlacza 0x3c Raystar pozostaje wysłać do lcd ten adres znalazłem w necie następny kod Spróbuję go dostosować zerknij czy sie nada do zmian i2cmaster.c [syntax=c]///////////////i2cmaster.c //Plik zawiera funkcje wykorzystywane w i2c dla trybu nadrzędnego (master) #include <compat/twi.h> #include...
skok do właściwego programu? - użyj watchdoga i masz przejście do programu głównego w wersji "miodzio"
A co da taki JMP?
Te 0,5F myślę że z powodzeniem nie pozwoli na skok napięcia o takim czasie narastania ażeby aż procek poszedł w maliny. Ja miałem układ w którym pracował obok procka moduł GSM. Potrafił on łyknąć chwilowo 2A prądu. Tam to dopiero były szpilki na zasilaniu. Co prawda przetwornica była na 3A ale jej czas reakcji był troszkę za mały. Procek się nie resetował...
Albo problem elektryczny, albo włączony watchdog, albo błąd w implementacji sprintf.
Cięzko cokolwiek sugerować - konstrukcja jak konstrukcja. Ważne że działa... Jedyne co można zasugerować na przyszłość, to nauczyć się C ;] Czy w procku chodzi watchdog? Imho powinien, skoro jest to sterownik, i jego nieprawidłowe działanie może pociągnąć za sobą jakieśtam niekorzystne następstwa...
Na początek kwestia formalna: jest za dużo tabulatorów w kodzie przed komentarzami, przez to prawa strona posta oraz kodu jest ucinana na ekranie (mam mały ekran). Co do kodu: czytanie zegarka oraz formatowanie sprintfem w procedurze obsługi przerwania jest mocno słabe. Diabli wiedzą jak jest zrealizowany lib TWI. Jakby był oparty na przerwaniach to...
Jeżeli chcesz resetować układ to podłącz przycisk. Jeżeli chcesz aby w wyniku zakłócenia (zawieszenia się) sam się zresetował użyj watchdog'a.
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.
jarek_lnx tak też myślałem aby zrobić. Dziękuje wszystkim za odpowiedzi. [edit] Ok, wszystko działa jak fabryczne. IRF1404 okazał się dobrym wyborem, radiator jest letni a to wszystko bez używania dodatkowego tranzystora na bramce mosfeta. Sygnał 5V z atmegi to wystarczająco. Nie obyło się także bez ww kondensatora 4700uF (oraz watchdoga na wszelki...
Sprawdź WatchDog'a i podciągnij Reset do VCC.
Wykres ten pokazuje, że dla trybu IDLE przy 4MHz i 1,8V, prąd pobierany przez uC będzie miał około 180-200uA. Można zadać pytanie, jakie działające peryferia są wtedy brane pod uwagę. W tym zakresie odpowiedź można znaleźć tutaj: 28. Typical Characteristics The following charts show typical behavior. These figures are not tested during manufacturing....
Chodzi o to, że po włączeniu sterownika do prądu (resecie mikrokontrolera) pompa od razu jest włączana nawet bez procesora. Wyłączona zostaje dopiero po pierwszym odczycie temperatury. Uchroni cię to przed nie pożądanym wyłączeniem pompy gdy np. ulegnie uszkodzeniu czujnik temperatury. Po każdym odczycie zeruj licznik watchdog. Wówczas nawet gdy odetniesz...
Rzeczywiście :D Ale to pokręcone. edit: Wydaje mi się że podaję poprawnie tablicę z moim znakiem do funkcji GLCD_DefineCharacter. Ale nie wiem jak wywołać na lcd mój znak. Czy może problemem jest typ zmiennej jaki użyłem? Problem z pikselami rozwiązałem. Okazało się że zbyt szybko pisałem do LCD przez skrócenie czasu funkcji _delay. Petit-ka zdecydowałem...
Nie wiem czy to mi się uda (z tym toogle). U mnie w domu to się nigdy nie stało a tu bym mógł siedzieć i sprawdzać to nawet 24h natomiast w w.w. sklepie całego dnia nie mam możliwości spędzić. Tutaj problem raczej będę musiał rozwiązać metodą prób i błędów. Może poradzisz mi co warto zmienić ja wprowadzę parę zmian i po jakimś czasie zobaczymy czy się...
Swoją drogą, jak wygląda kwestia niezawodności procesorów z tego okresu? Mam tutaj na myśli nie tylko 6502, ale także m.in. 8080, 8085 czy Z80. Obecnie każda Atmega posiada watchdoga, który w przypadku zawieszenia wykonywania programu automatycznie zresetuje MCU. Nie pamiętam, czy kiedykolwiek ta funkcjonalność przydawała mi się po etapie debugowania....
O kurka, przepraszam, nie zauwazyłem ze to watchdog. ;) Poprawka, wewnetrzny oscylator, dla 8MHz. http://obrazki.elektroda.net/70_12329129...
Witam ponownie wina leży mi się wydaje w przenoszonych zakłóceniach szczególnie od silnika zainstaluje jeszcze te kondensatory. Na stabilizatory też mam dać pomiędzy masę a zasilanie i masę i wyjście. Mogę jeszcze na wejściu zasilacza po stronie napięcia zasilania dać kondensator przeciwzakłóceniowy styrofleksowy. Watchdoga też chce zastosować ale na...
Witam! Zająłem się zabawą z Atmegą 88 i mam problem z uzyskaniem katalogowego poboru prądu w głębokim uśpieniu. Atmega podłączona minimalnie, tylko 2 kondensatory 100n przy zasilaniu i 2 ledy które pomagają upewnić się że Atmega śpi. Przy zasilaniu 1,8V udało mi się zejść do 8uA. ADC, komparator, watchdog i brown out wyłączone. Taktowanie wewnętrznym...
To zależy co ten sterownik ma robić. 51 jest łatwiejsza do opanowania, bo mammniejsze możliwości w przypadku AVR (AT90S8515 raczej nie polecam bo są powoli zastępowane przez nowsze serii ATMega) jest dużo więcej sprzętu w środku. EEPROM, przetworniki A/C watchdog, bardziej elastyczne tajmery, szybsze... Tak by można jesze długo wymieniać. 51 z takim...
Więc tak. Pierwsza ciekawostka która wyszła, to jakiś kłopot z układem watchdog, więc go wyłączyłem aby sprawdzić czy to jedyny błąd. Wszystko działa elegancko do momentu gdy program zaczyna generować instrukcje dla odbiornika - w tym miejscu nagle uaktywnia się przerwanie 'STOP' (co pokrywa się z zachowaniem całości w praktyce), a uK utyka w martwej...
https://obrazki.elektroda.pl/9342271000_... Dzień dobry, Urządzenie powstało w celu monitorowania poziomu wilgotności w pewnej zamkniętej przestrzeni. Przekroczenie zadanego poziomu jest sygnalizowane sygnałem dźwiękowym (buzzer) i świetlnym (LED). Wartości z ostatniego pomiaru można w każdej chwili odczytać, po naciśnięciu przycisku,...
Cokolwiek co będzie miało trzy linie adresowe, o ile zadowoli cię dokładność, może to https://www.nxp.com/products/sensors/ic-... Skoro używałeś 1-wire to dlaczego by ich nie użyć?
Zrobiłem i dalej lecą same 0 :(( oto kod w 2 Atmega 128 (ten co ma mierzyć): $regfile = "m128def.dat" $crystal = 16000000 $baud = 9600 $hwstack = 32 $swstack = 10 $framesize = 40 Dim W As Integer Dim L As Integer Config Watchdog = 2048 Start Watchdog Reset Watchdog Config Adc = Single , Prescaler = Auto , Reference = Internal Start Adc L =...
Cześć!!! Driver RS-232 <-> USB, który daje wirtualny port COM i co dalej :)... Zabawa na terminalu, test komunikacji, może programowanie procka ADuC bo się da przez Com, może programtor pamięci, czasem reaktywacja jakiego "gotowego" rozwiązania działającego dotąd doskonale na RS-232 i właściwie koniec zastosowań. Potrzebne tylko w szczególnym,...
No niestety, bywa, ze procek się zwiesi i nic mu nie pomaga, nawet watchdog. Znam człowieka, który dosłownie bawił się AVR'ami np. powolutku podkręcał zasilanie i obserwował zachowanie uP - okazało się, że przy powolnym narastaniu zasilania uP potrafi się zawiesić i nie ma znaczenia watchdog (to był ATmega16) ale na tym samym rdzeniu są robione prawie...
atmega watchdog atmega reset watchdog atmega watchdog przerwanie
jakie zelazko kabel telefoniczny podłączyć presario bateria
chassis 11ak36 sonda lambda zasilanie grzałki
Silnik OM904 nie wchodzi na obroty - diagnostyka i przyczyny Sterownik pieca na ekogroszek - podajnik nie działa