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...
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.
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...
Domyślnie będą wyzerowane. Dodając $NORAMCLEAR wyzerowane nie będą. Wybieraj...
Witam Problem jest następujący,jak wstawie sekwencje uruchamiania watchdoga na poczoatku programu to jest ok i watchdog dziala dobrze, natomist jesli wstawie tą sekwencję po opóźnieniu wiekszym od 19 ms to watchdog resetuje atmege w taki sposób ze program sie zatrzymuje i nawet reczny reset nie pomaga, dopiero wylaczenie zasilna jest skuteczne, poniżej...
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 Mam problem z uruchomieniem watchdog'a w atmedze324. Procesor nie uruchamia resetu. Ten program powinien wypisywać cyfry przez około 2 sekundy potem powinien się zresetować. Proszę o pomoc. [syntax=jezyk_programowania] #include <mega324.h> #include <stdio.h> #include <delay.h> #include <stdlib.h> #include <string.h>...
Temat już był poruszany wielokrotnie ale nie znalazłem odpowiedzi Watchdog'a uruchamiam ustawiając bity WDE oraz WDP2..0, czyli robie taki myk WDTCR = 0x0F. - po wpisaniu tych komend do uC wogole nie startuje - dlaczego? wg dokumentacji zerowanie watchdoga powinno odbywać się częściej niż co 2,2 sekundy :).. uC nawet na te 2 sekundy nie startuje :/...
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:...
Dzień dobry. Na nowo zaczynam przygodę z AVR'ami. Mam problem z watchdog'iem. Chciałbym obsłużyć przerwanie generowane przez watchog, ale mi się to nie udaje. W zamian watchog generuje tylko sygnał reset (bez uprzedniego przerwania). Piszę na ATmega328P ( Atmel Xplained Mini 328P). FuseBit WDTON nie jest zaprogramowany. [syntax=c] #include <asf.h>...
Witam Mam problem z odczytaniem źródła resetu, a konkretnie tylko resetu od watchdoga. Napisałem specjalnie prosty program: Cls : Cursor Off Dim Count As Word Start Watchdog Lcd Mcusr 'pokaż źródło resetu Mcusr = 0 Do 'Pokaż, że uC nie został jeszcze zresetowany Incr Count Locate 2 , 1 : Lcd Count Waitms 500 Loop Jeżeli zresetuję µC przez...
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....
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...
Tak jak napisałeś powinno być dobrze. Jeszcze jedna uwaga. Poprzednio miałeś ustawione bity na Interrupt and System Reset Mode. To może obecnie skomplikować ci możliwość przestawienia nastaw WatchDoga.Jeśli po wpisaniu tych wartości do rejestru nadal działanie WatchDoga nie będzie zgodne z oczekiwaniami to dzieje się tak dlatego iż w sterowaniu WatchDogiem...
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....
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...
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 =...
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, 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...
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ę...
Chyba można by uniknąć stosowania watchdoga jesli wcześniej wyłączone zostały by przerwania?! Ale wiesz co? unikać stosowania watchdoga to raczej nie warto. Jeśli chodzi o wszystkie inne sztuczki programowe służące do tego celu to akurat watchdog zdecydowanie się do tego lepiej nadaje. Zauważ, że prawdziwy reset watchdoga daje ci m.in czyste wszystkie...
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...
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, 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...
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...
Dobra praktyka programistyczna jest wyzerowanie pamieci na poczatku programu. Swego czasu spedzilem chyba ze dwa dni walczac z bledem ktorego nie bylo. Okazalo sie ze fabryczny bootloader korzysta z ktorys tam rejestrow. Ja tez z nich korzystalem. Efekt taki ze pierwszy raz po zaprogramowaniu program zawsze szedl w krzaki. Zrobilem sobie dwa makra ClearMemory...
Z tym Bascomem nie może byś aż tak źle - znalazłem w sieci opis pojazdu typu segway na silnikach BLDC i wszystko w Bascomie. [syntax=vbnet]'25 04 2017 'poprawiny blad z wartoscia w przypadku braku potencjometru '21 04 2015 ' m,nastawa prądu od 256 do 512 na adc 'czas migania LED ustalany przez timer 0 '255x256x60 cykli timera dla f 8Mhz 'procesor attiny88...
Jeśli chodzi o Watchdoga: można go w większości ATmeg ustawić na 2s (niecałe), w niektórych nawe 8s. Sekund! Jeśli jakaś funkcja się zatnie na kilka sekund, to jest z nią naprawdę źle! Obsługę można robić za pomocą funkcji wdt_disable();, wdt_enable(value); i edytując MCUCR. Przykładowo, tak można wykonać reset programowo: http://www.nongnu.org/avr-libc/user-manu...
Nie wiem jak u Was ale ja tam nie mam już absolutnie żadnych trzasków. Owszem jest jeden mini szmer jak włączam urządzenie ale włączam je raz na "rok" i nie wyłączam. Chyba że ktoś puszcza sobie melodyjkę i wyłącza urządzenie , to co innego. Dla pewności przedstawiam ponownie działający kod. '---------------------------------------...
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 na elektrodzie znalazłem wiele informacji na temat przetwornika adc w atmega 8 jednak nie mogę poradzić sobie z jednym zjawiskiem mianowicie po odczytywaniu napięcia podawanego z potencjometru na wejście adc0 i adc2 i wyświetlaniu na lcd obserwuje takie zjawisko jak : napięcie z adc0 zmienia sie od 0 do 1024 zrozumiałe tylu bitowy przetwornik...
Witam! Jakiś czas temu wykonałem termostat cyfrowy na Atmega 8. Problem polega na tym, że kiedy chcę ustawić temperaturę, to mogę ją ustawić, ale tylko do temperatury 100°C i wszystko wraca do ekranu głównego. Podobnie jest z ustawianiem histerezy, tylko tam już nic nie mogę zmienić. W związku z tym mam prośbę dla forumowiczów którzy orientują się w...
Cześć wszystkim ;) Mam ogromną prośbę o pomoc w sprawie otwierania obrazków w formacie *.bgc ktore beda umieszczone na karcie pamięci i atmega ma je otwierać i wyświetlać na kolorowym lcd . Probowałem już kilka różnych sposobów ale za każdym razem obrazek się nie wyswietlał poprawnie . Serdecznie pozdrawiam Bartek Nizej kod programu do obslugi karty...
Witam wszystkich Forumowiczow, do tej pory nigdy nie miałem potrzeby pisać postu bo wszystkie problemy rozwiązywałem opcja search ;-) az do tej chwili. buduje układ przetwornika AD 24 bitowego, ktory komunikuje sie z Atmega8 po SPI hardware a ta z kolei z moim PC po RS232. Docelowo maja byc 2/3 przetworniki, poki co jest jeden i walka trwa ;-) Całość...
Witam. Mam problem z prawidłowym odczytywaniem danych z eepromu atmega 8. Dzieje się to po kilkunastu startach procesora, zamiast np. 90 wskakuje mi 10 lub inne głupoty... do procka mam podłączony kwarc 8MHz z każdego +5V 100nF, reset podciągnięty do +5V przez 5,1k i kondensator 100nF do masy, fusy mam ustawione na CKOP = 0 , kwarc zewnętrzny czyli...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '***************************************... '-------------------- konfiguracje ----------------------------------------... $regfile...
Witam Chciałm zrobić automatyczną regulację obrotów silnika. Pierwszy silnik napędza drugi silnik który pracuje jako prądnica i muszę wraz ze zmianą obciążenia prądnicy regulować obroty silnika tak aby uzyskać stałe napięcie na wyjściu prądnicy. Do sterowania zastosowałem Atmegę 8. Napisałem taki programik i niby działa, ale ... regulacja jest zbyt...
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ę...
Zrobiłem aktualizacje do 2.0.7.6. Obsługuje bez problemu USBasp, no i biblioteki do SD faktycznie lepsze - obsługują SDHC i można np. sprawdzić rodzaj karty SD. Tylko zapisywany ciąg na karcie trochę inaczej jest. Zamiast spacji jest teraz "kropka" i cały tekst bardziej "zbity" w całość. Co do rC5 to nic się nie zmieniło, właściwie to gorzej bo pracuje...
Witam, W dokumentacji dowolnego mikrokontrolera ATmega z łatwością można odnaleźć tablicę z wektorami przerwań, np. taką: 1 $0000 RESET 2 $0002 INT0 External Interrupt Request 0 3 $0004 INT1 External Interrupt Request 1 4 $0006 INT2 External Interrupt Request 2 5 $0008 INT3 External Interrupt Request 3 6 $000A INT4 External Interrupt Request 4 7 $000C...
[syntax=c]mam jeszcze pytanie czy ten kod może źle pracować z atmega 8a-pu [syntax=c]|Program "analizator widma akustycznego 20*2 - V2" kompilator bascom 1.11.9.0 | '|Autor: HUNTERHOUSE(Adam Kędzierski) i częciowo MANEKINEN(Paweł Kisielewski) | '| data: 02.08.2009 | '| | '| info: http://www.elektroda.pl/rtvforum/topic77... | '| www: http://diy.elektroda.eu/analizator-widma...
Poniżej zamieszczam wersje źródłowe plików kontrolera wykonanego według dokumentacji Atmel'a AVR444: Sensorless control of 3-phase brushless DC motors wykonanego na kontrolerze ATMega 48/88/168. Autor bardzo dokładnie udokumentował swoje dzieło. Funkcje static unsigned int CalculateCurrent () Calculates current consumption. static unsigned long CalculateSpeed...
Witam, Zbudowałem sterowanie domem na bazie ATMEG i tableta komunikującego się przez RS485. Co jakiś czas dodaję pewne elementy całości aż napotkałem na dziwny problem. Dłuższy czas Atmega odpowiadająca za kotłownię pracowała na 7 czujnikach DS28B20 i było wszystko ok. Po próbie dodania kolejnego ostatnie DSy zmieniają adres, przejmują odczyty z innych...
Przepraszam że podepnę się do tematu ale także walczę z RS485. I to walczę dobre kilka miesięcy! A zatem moje pytania: 1.Rozumiem że terminator muszę umieścić na początku i końcu mojej linii rs485 ? 2.Rezystory podciągające linie A i B muszą być przy każdym istniejącym module w sieci? 3.Rezystor podciągający RX do VCC musi znajdować się w każdym module?...
tak wyglądają błędy podczas kompilacji http://obrazki.elektroda.pl/3063708300_1... tu natomiast wklejam kod który pozmieniałem, a nie wiem czy dobrze ; Prosty program boot loader-a dla interfejsu RS-232 ; Rafał Baranowski (C) 2004 //**************************************... /* * Modyfikacja programu...
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Witam , mam nadzieję iż nie zanudziłem bez reszty.. W zestawieniu z moimi "dokonaniami asm." kolega michalko12, jest najbliższy temu co ja kiedyś robiłem . Oto wersja asm z przełącznikiem kompilacji aby kompilować jako samodzielny plik - kto chce ->ten może :D ( ta wersja to 16-timerów, 16-nasto bitowych, każdy cztery tryby konfiguracji, oczywiście...
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...
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 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...
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...
Sprawdź WatchDog'a i podciągnij Reset do VCC.
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...
Po co ten zewnętrzny układ resetu? Wystarczy podłączyć sam przycisk do masy. ATMEGA128 (jak wszystkie ATMEGA) ma wewnętrzny układ resetu gwarantujący poprawny reset niezależnie od czasu trwania impulsu zewnętrnego (min 50ns). Można też włączyć watchdog'a wewnętrznego oraz układ Brown-out reset, który resetuje procka jeżeli napięcie spadnie poniżej 4V...
WDTON Fuse Unprogrammed: In this mode, the Watchdog Timer is initially disabled, but can be enabled by writing the WDE bit to 1 without any restriction. A timed sequence is needed when changing the Watchdog Time-out period or disabling an enabled Watchdog Timer . WDTON Fuse Programmed: In this mode, the Watchdog Timer is always enabled , and the WDE...
atmega watchdog watchdog atmega reset watchdog
pionowy kreska zwarcie światło linia długa
krzyżak samsung schemat jednokreskowy przyłącza
Panasonic RX-ES20 - Magnetofon nie kręci się, wymiana pasków Moc grzewcza agregatu Thermo King TS 500e