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.
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...
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...
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...
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...
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...
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...
Jeśli resetował by prawidłowo to program wgrany do Uc powinien startować od początku. Dzieje się tak tylko kiedy zostanie naciśnięty reset PIN. Gdy układ zresetuje WATCHDOG to program nie startuje od początku, tylko widać przypadkowe znaki na wyświetlaczu. Dopiero po resecie z pinu wszystko wraca do normy.
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.
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?
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...
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.
A skąd wiesz, że się nie wykonuje? Jedyne co widzę, to to, że w przerwaniu zerujesz wyzerowany port. To raczej trudno zauważyć.
A jest 1.11.9.3 Dla attiny na pewno lepsza. Może dla atmega też.
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ą...
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...
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...
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ć...
genetix - wlasnie o tym pisze - wg tych norm zalecane bylo uzycie zewnetrznego watchdoga. Z tego co pamietam norma definiowala 3 poziomy bezpieczenstwa - pierwszy w zasadzie bazowal na podstawowych zasadach bezpieczenstwa (izolacja przewodow wysokonapieciowych, koniecznosc stosowania watchdoga itd.). Drugi poziom byl juz nieco bardziej zakrecoy (zewnetrzne...
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...)
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?...
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.
Domyślnie będą wyzerowane. Dodając $NORAMCLEAR wyzerowane nie będą. Wybieraj...
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...
Okej, wklejam zatem treść polecenia. "Napisać program, który po uruchomieniu konfiguruje licznik WDT w tryb Interrupt and System Reset Mode z czasem przepełnienia 1000 mikrosekund. Wykorzystać jeden z rejestrów ogólnego przeznaczenia do zliczania liczby wystąpień przerwań od WDT. Drugi z rejestrów wykorzystać do odczytania wartości z rejestru MCUSR,...
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...
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....
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ł...
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...
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ę...
Skoro musiałeś usunąć fragment plików startowych c, żeby dało się skompilować kod, to znaczy, że coś mocno jest nie tak. W dodatku usunąłeś fragment odpowiedzialny za inicjalizację zmiennych, więc raczej istotny. To mogłoby tłumaczyć problemy. Reset z WD jest tożsamy z resetem przez pin RESET, czy BOD, jedyna różnica to inne ustawienie bitów sygnalizujących...
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...
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...
Ty czy Kardaś? No ta w zasadzie popodmieniałem nazwy komend w przypadku mastera, ale w tym przykładzie nie ma dużo więcej do roboty, jak uda się stworzyć własną apkę na kompa to trochę pozmieniam (dodam więcej case'ów xd). Dużym problemem było to, że nie zaznaczyłem zapisu eepromu w eclipse, ale nadal są błędy teraz już chyba tylko po stronie slave'a:...
- 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...
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ć...
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...
(at)pawlik - tak - i w Xmega(at)PDI jak i przy korzystaniu z np. debugwire w nowszych małych atmegach Atmel dał też ostrzeżenie odnośnie stosowania filtru RC na resecie ;) Co do stosowania kondensatora do masy to dokładnie te same notki atmela zalecają ten kondensator przy stosowaniu zewnętrznego resetu (czy to przycisk, czy przez jakiś układ) jak również...
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ę...
Ja bym próbował nastęująco: 0. Nie pamiętam czy ten procesor ma WatchDoga - ale zakładam że JEŚLI ma to jeśli jest załączony to go prawidłowo obsługujesz!! 1. Odseparowałbym wszystko galwanicznie i zasilił z akumulatora lub ze zwykłej sieci 2. Zastosowałbym dławiki na linii zasilania ( 1mH nie będzie za mało) a może w dużej desperacji nawet na lini...
A co da taki JMP?
Albo problem elektryczny, albo włączony watchdog, albo błąd w implementacji sprintf.
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...
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...
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.
Sprawdź WatchDog'a i podciągnij Reset do VCC.
Roznica pomiedzy skokiem pod adres $0000 a reset przez watchdoga jest i to spora. Watchdog sprzetowo linie RESET na jakis czas aktywuje. Wtedy wewnetrznie wszystkie rejestry opisane w dokumentacji przyjmuja swoj stan poczatkowy. Przy skoku pod adres $0000 ciagle dzialaja przerwania, sa poustawiane rozne rejestry wczesniej zainicjalizowane wiec moga...
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....
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 =...
Osobiście wyznaję zasadę, im trudniej, tym ciekawiej i można się więcej nauczyć... Jeśli chodzi o zasilanie awaryjne to ATmega wcale dużo pradu nie pobiera w odpowiednim trybie uśpienia. Można ją wybudzać przerwaniem z licznika, może to byc reset z watchdoga (Źródło resetu jest rozpoznawalne w MCUCSR), obsłużyć co trzeba i znowu uśpić - przeliczanie...
Wywal ten kondensator z nogi resetu. Zostaw sam rezystor do VCC. Ktoś już miał dokładnie taki sam problem. I wyłącz watchdog'a w fusebitach. I powiedz czy coś to zmieniło ;)
jesli zaczynasz programowac procek a nie wiesz co to watchdog to tak jak bys probowal prowadzic samochod nie wiedzac po co jest to kółko przed tobą a zadawałbyś pytanie jak zmierzyć poziom oleju w silniku najpierw poczytaj sobie o procesorach, jesli nie masz nikogo kto by Ci na zywo pomogl to pozostaja ksiazki
Spróbuj wyłączyć wdt w startupie przed main Jak procesor ma wykonać funkcje poza main? Skąd taki pomysł? Patrząc na konsole kompilatora myślę , że sam nie próbowałeś nigdy takiego rozwiązania :P Dodano po 38 Zrobiłem coś co powinienem zrobić na początku , czyli zajrzałem do dokumentacji :D. Note: If the Watchdog is accidentally enabled, for example...
Witam, Chciałem napisać prosty program do włączania i wyłączania 5 diod podłączonych do portów PC0-PC4 uP atmega8. Diody zapalą się po ustawieniu na portach stanu 0. Diody mają samoczynnie migać, a czas pomiędzy włączeniem, a wyłączeniem diod będzie ustawiany w timer0. Niestety uP po 294 cyklach uP restartuje się tj. wraca do funkcji reset. 294-ty cykl...
Witam, Mam problemz AtMega z tematu. Ustawiam konfigurację Timerów wg manualki: tryb CNC; prescaler; zezwolenie na przerwania CompareMatch. Po ustawieniu tego odblokowuję przerwania przez "sei();" i.. procesor się resetuje. Dodam też, że taki sam kod działa bez problemów na AtMega 16/32/64. Czy przy pisaniu kodu na te procesory (324/644/1284) trzeba...
Zbyt wolne ale dlaczego?Układ zasilam z stabilizatora 7805, teraz mam podłączony do pinu reset 100n do masy i 10k to +5V a procesor dalej nie startuje po wlaczeniu zasilania.Jak zewre Reset to masy to procesor startuje.Jak to wyeliminiwac-może to być wina programu albo ustawienie wewnetrznego kwarcu? Wydaje mi się ze wpływ na działanie układu resetu...
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,...
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...
Witam, czy ktoś może spotkał się (i znalazł rozwiązanie) z problemem zawieszania ATmega32 (lub podobnego układu) przy czym ze stanu zawieszenia nie można wyjść nawet poprzez ręczne zwarcie wejścia RESET do masy. Oczywiście na wejściu reset jest rezystor 4,7k + kondensator 10n, na zasilaniu procesora i większości układów kondensatory 100n, zasilanie...
Są rzeczywiście sytuacje, gdzie hardware'owe i2c/twi potrafi się zawiesić. Nie jestem specem od AVR niemniej kiedyś bawiłem się w atmega interfejsem TWI. Wykonywałem losowe zwarcia linii SDA zarówno w trakcie transmisji jak i gdy linia jest wolna. Czasem gdy rozwierałem linię SDA ona zamiast podciągnąć się do 5V pozostawała na 0V a w rejestrze statusowym...
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...
Witam, od wczoraj zmagam się z problemem odbioru kodu RC5 w urządzeniu, w którym mam multipleks dużej ilości wyświetlaczy 7-segmentowych LED. Przerwania na multipleks przychodzą co około 4ms. Multipleksowanych cyfr jest łącznie 48, ale pogrupowane są one, tak jakby były tylko 4 cyfry. W każdym przerwaniu kody segmentów wysyłane są szeregowo na 3 rejestry...
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ć...
Witam. Dołączam poprawiony schemat, niestety na nowej płytce jest to samo - losowe zawieszanie się programu - musiałem aż uruchomić watchdoga bo gdy układ się zawiesił siłownik cały czas jechał co mogło go zniszczyć, tak to przynajmniej watch zrobi reset układu. Jakieś pomysły, sugestie ?? Ręce już mi opadają. http://obrazki.elektroda.pl/7242218800_1...
Nie miałem za bardzo czasu ale wracam do nierozwiązanego problemu. http://obrazki.elektroda.pl/7699775600_1... http://obrazki.elektroda.pl/3826926900_1... Tak wyglądają screeny po wywołaniu programu CRCGEN. Pliki wgrane programatorem działają poprawnie a przez bootloader tylko ten krótki (choć po przemieleniu ma także...
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...
Ja mam notę PDF do tego procka z 2004 roku i jest w niej wszystko OK Najchętniej otukł bym komuś głowę, z tego Atmela. :P Zwykle najnowsza wersja czegoś, nie psuje tego, co już było poprawne w wersji poprzedniej. ....grrrr.... oczywiście rozumiem, że te dwie linie nie były zakomentowane i to tylko omyłkowo wkleiłeś taki kod - bo wtedy na prawdę by...
Podczas wgrywania programu, który zajmuje powyżej 25% pojemności pamięci otrzymuje błąd w avrdud'zie. Sam program nie działa wtedy prawidłowo. Gdy wchodzę do menu zawiesza się i resetuje procesor. Gdy zwolnię trochę pamięci usuwając np czcionkę wszystko wraca do normy. Uc programuje się prawidłowo i program działa bez resetów. Wina nie leży w programie,...
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.
... i nie zauważyłem ale miałem zmienione ustawienia FuseBitów - Watch-Dog'a, Boot Reset vector Enabled oraz co najgorsze BOOTSZ. Ingerencja w FuseBity pamięci FLASH skutecznie zadusiła mi Atmege. .... panie kolego ale ustawienia tych fusebitów - jakbyś ich nie zmieniał nie mają ŻADNEGO wpływu na "zduszenie" atmegi jak piszesz ;) zresztą fajne określenie...
Witam, Chciałem skomunikować ze sobą 2 atmegi32 i mam z tym problem. Jedna atmega wykonuje pomiar z wejścia adc i próbuję wartość ADC wyświetlić na wyświetlaczu podłączonym do drugiej atmegi, ale zamiast wartości np 467 na wyświetlaczu uzyskuję jakieś przypadkowe cyfry np. 13 10 19 51 54 ... Podłączone jest dobrze RxD do Txd i podciągnięte rezystorami...
Witam, Chciałem zrobić opóźnienia w programie dla Atmega8. Wykorzystałem przerwania, ale przy symulacji programu w AVR Studio okazuje się że program po około 260 mikro sekundach resetuje się(wraca do funkcji main() ). Nie jet to spowodowane raczej watchdogiem bo jest on wyłączony. Czy ktoś potrafi mi powiedzieć dlaczego tak się dzieje? Aha, oczywiście...
Witam Nie wiesza się, tylko wykonuje nadzwyczaj sumiennie to co napisałeś w programie: Paletyzacja: Dlugi_tekst_2 = " By powrocic do menu glownego wcisnij < " Do ... Loop To jest pętla BEZ KOŃCA. ... Do Reset Watchdog Dlugi_tekst = " Symulacja nakladania uszczelnienia" Dioda_a = 1 Czas_odcinka = 142000 / Predkosc_spawania...
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. Mam duży problem z układem na dwóch atmegach 8 i 168. Jedna płytka pełni rolę panelu operatora, druga płytki wykonawczej. Obie płytki zasilane zasilaczem sieciowym, stabilizowanym 12V, każda mega zasilana z układu LM7805. Obie połączone za pomocą portu RS-232. Układy podpięte według wskazówek znalezionych na elektrodzie. Kondensatory na VCC,...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się w momencie jak w podmenu "Start_webasto" dodaję...
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...
Genario:poczytaj na temat watchdog, brownout itp. , większość mikrokontrolerów potrafi samodzielnie wyjść z takich stanów, o ile go odpowiednio zaprogramujesz Tanaka:NIE, program na mikrokontrolerze nie ma nic do programowania ISP. Jedyny sposób "wyłączenia" ISP to: -złe ustawienie fusebitów (np zmienienie reseta na port I/O co uniemożliwia programowanie...
Witam Na wstępie się przywitam - na imię mam Piotr, jestem sobą początkującą w kwestii programowanie mikrokontrolerów AVR - przez ostatni rok "bawiłem" się w różne układy na m32 - pisząc soft w bascomie. Przesiadłem się kilka dni temu na procesor m1280 - i tu mam kilka problemów, których źródła nie potrafię zdiagnozować. Przede wszystkim - po wgraniu...
Witam, Zaczynam właśnie zabawę z procesorami atmega i mam problem z watchdog'iem na atmega8. Pod atmega328 działa to super ale tam jest troszkę inaczej (jest WDIE, którego w atmega8 nie ma) Skorzystałem z przykładowego kodu z tej strony #include <avr/wdt.h> #include <avr/sleep.h> #ifndef cbi #define cbi(sfr, bit) (_SFR_BYTE(sfr)...
Multimetr to Brymen BM837. Dodam że jak zamiast akumulatora podłączę żarówkę 12V/200W to wtedy prąd jest przekłamywany inaczej - im mniejszy prąd tym większy mnożnik jest potrzebny. Dla 500mA ADC=12 i mnożnik 41,6... ale dla 3A ADC=117 i mnożnik już 25,6... Przecież niby ACS712 odczytuje wartość prądu AC i DC...lecz tu przez PWM jest prostokąt z różnym...
do tego służy watchdog i nie trzeba zdublowanego systemu resetów, który moim skromnym jest konstrukcją błędną Właśnie, nie rozumiemy się :) Otóż, w urządzeniu, które jest sterownikiem pewnej pompy, początkowo był tylko jeden MCU. Oczywiście program korzysta z watchdoga. Był także, w jednej z początkowych wersji , watchdog zewnętrzny. Jednak okazało...
Mój pomysł jest taki aby przejrzeć notkę katalogową od strony 303. /PEN jest tylko wykorzystane w alternatywnej metodzie programowania, kiedy razem z linią SCK są cały czas w stanie niskim od czasu włączenia zasilania (s. 304), w innym wypadku (co i nas dotyczy - nie mamy źródeł programu sterującego "programatora", więc nie wiemy co z SCK wyprawia)...
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...
Jak to mówią "Strzeżonego .... strzeże", ale zaufaj sprzętowemu On-chip Brown-out Detection i nie powielaj zabezpieczenia, które może Ci przeszkodzić jeżeli źle policzysz czasy realizacji jakichś funkcji w przerwaniach itp. Watchdog w przypadku Atmega8 stosuj raczej gdy program może wchodzić w jakieś dziwne stany np. zatrzymania w pętli z powodu niedotarcia...
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...
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...
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...
Poza tym co pisze kordirko trzeba sie zastanowic co jest przyczyna resetu. Jesli go podajesz przez przycisk, czy z zewnatrz to istotnie wystarczy zrobic opoznienie resetu wzgledem zatrzasku, chociaz w takiej sytuacji sygnal mozna wyprowadzic na jakies wiejscie przerwania i wszystko zrobic programowo z resetem za pomoca watchdoga (jesli istotne jest...
Witam, mam problem z komunikacją po TWI z zegarem RTC DS1340. Program działa dobrze, ale co jakiś czas (kompetnie losowy, potrafi chodzić kilka dni bez błędów, a czasem resetuje się co chwilę) zawiesza się i resetuje go watchdog (ustawiony na 0,5s). Doszedłem do miejsca w którym program się wysypuje - na powrocie z funkcji twiread(). [syntax=c]//procedura...
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ę...
Tomqu z podanych przeze mnie linków ściągnij przykład 04 i podmień w nim main.c na: [syntax=c]#include"main.h" //**************************************... #define BUF_SIZE 8 // definiujemy bufor o rozmiarze 8 bajtów (musi byc potega dwójki dla tego sposobu!!!) // definiujemy maskę dla naszego bufora #define BUF_MASK...
Problem niby banalny, ale nie mogę sobie z nim poradzić. Zrobiłem układ na Attiny 2313 (szczegóły nieistotne) i chce go zasilić z ładowarki do komórki 5V 1,5 A. Problem polega na tym, że podłączając ładowarkę do układu, a następnie do sieci program nie startuje i pomaga tylko ręczny reset, natomiast kiedy najpierw podłącze ładowarkę do sieci, a dopiero...
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.
Posiadam przykład kodu na atmega16 (coś mnie ten procek prześladuje :/) i chcę to przerobić na atmega128. Pod atmega16 wygląda on następująco: .cseg RESET:cli clrr30 outEECR, r30 outMCUCR, r30 ; watchdog na ok.1s ldir31, (1<<WDE) | (1<<WDP2) | (1<<WDP1) outWDTCR, r31 ; inicjalizacja stosu ldir31, high(RAMEND) outSPH, r31 ldir31, low(RAMEND)...
Swoja droga, moglby mi ktos podac przyklad z zycia wziety. Nie bylo zewnetrznego podciagniecia resetu uklad nie dzialal, po podciagnieciu dzialal. Chodzi o to zeby napisac w jakich warunkach uklad pracowal :) Bede wdzieczny za taki przyklad :) I nie chodzi mi o to zeby wykazac ze nie trzeba resetu podciagac, potrzebuje taki przyklad z zycia wziety...
0. A moze coś powoduje reset układu (BOD, Watchdog, wiszący pin /RESET) ? 1. A w którym miejscu jest dokładnie problem ? 2. JTAG i watchdog wyłączone ? Pierdółki : 3. Od czego jest timer ? Po co bzdurne mielenie w miejscu i to przez 4 sekundy ? 4. Jeżeli RESET jest z dużych liter, to nie używajmy ReSeT ani Reset ... ;) Moze to nic w tej chwili nie daje,...
atmega watchdog watchdog atmega reset watchdog
dobór rezystora wzmacniacz seagate st1000dm003 rezystancja grzalki
chassis 11ak36 sonda lambda zasilanie grzałki
Produkcja płytek PCB w zakładach Toral w PRL Schemat CDI Yamaha DT 50 2007 - Gdzie znaleźć?