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...
1. Pin 13 arduino jest nieszczęśliwy, bo na nim jest diodka migająca w czasie startu bootloadera. Użyj innego pinu. 2. Tylko mi nie chodzi o zdalny reset, nie jest mi to do niczego potrzebne. - hmm, skoro nie chcesz zdalnego resetu, to po co ten wątek? :D Chodzi Ci o to, aby aktywować bootloader - więc spróbuj wywołać reset procesora === aktywację bootloadera...
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...
Nie podałeś schematu, więc spytam. Czy kondensatory filtrujące są? Jak zasilana jest ATmega? czy źródło zasilania ma odpowiednia wydajność prądową?
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...
Mam takie małe pytanie Czy jeżeli usypiam tak [syntax=bash] set_sleep_mode(SLEEP_MODE_PWR_DOWN); cli(); sleep_enable(); sleep_bod_disable(); sei(); sleep_cpu(); sleep_disable(); sei();[/syntax] To przy budzeniu przerwaniem przy pierwszym sygnale przerwaniu wykona się przerwanie i w nim kod? czy leci jak skończył przed usypaniem? Drugie pytanie jeżeli...
Niestety - tylko uwalic zasilanie, albo wykorzystac piny RESET lub HALT, ktorych najpewniej nie masz wyprowadzonych na zlacze. Tez sie dziwie ze producenci nie wyprowadzaja tego na zlacze, skoro to jedyny sposob na zakimanie kontrolera...
To nie uszkodzenie. One tak mają. Porty w 2051 po resecie przechodzą w stan wysoki. To nie ATmega niestety. Trzeba programowo potem ustawiać stan niski. No i trzeba to brać pod uwagę podczas projektowania układów bo coś może się na chwilę załączać po resecie µC albo po włączeniu zasilania. Prawdopodobnie masz coś nie tak z programem.
Dioda D1 jest zwarta, wejście D- także. W ogóle darowałbym sobie programowy USB Albo sprzętowy, albo konwerter RS232/USB, sporo już napisano na ten temat Albert
nie dość, że w przerwaniu dajesz opóźnienia waitms o czym wspomniał kolega powyżej - to jeszcze wyświetlasz coś w przerwaniu na LCD a to już msakra. do tego wszystkiego daj nie tylko dyrektywę informującą jaki zegar ale co najważniejsze dyrektywy ustawiające stos sprzętowy i programowy - dodatkowo zmień wtedy ich wartości na większe niż domyślne bo...
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...
... dlatego chciałem to zorganizować programowo na kontrolerze, żeby przy pierwszym odpaleniu programu na procesorze do EEPROM-u zapisało domyślne wartości. A później przy kolejnych uruchomieniach procesora nie było już tego zapisu przy uruchomieniu tylko odczyt. Ale coś czuję w kościach, że się tak nie da... Jak to się nie da? .... ależ da się i powiem...
wstawie tam te zewnętrzne źródełko 2,5v dam też wzmacniacz operacyjny LM358 2xWzm. albo LM348 4xWzm. Jasne ze mozesz tak zrobic, zawsze programowo mozesz przelaczac sie miedzy zewnetrznym a wewnetrznym. Takze wzmacniacz operacyjny moze sie przydac, choc programowo mozesz ustawic wzmocnienie wewnetrzne jako 1x, 10x, 200x co do wiekszosci ekperymentow...
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>...
Masz moim zdaniem 2 sposoby na zrobienie tego - łatwy i fajny: - Łatwy - wykorzystujesz normalny bootloader (jest kilka ogólnodostępnych wspierających RS485). Urządzenie przestawiasz w tryb bootloadera. Najłatwiej to zrobić ręcznie (czyli Reset + np trzymać jakiś przycisk), ale można tez zrobić to programowo. Dalej programujesz urządzenie "normalnie"....
Najczęściej jest to wektor przerwania bez kodu - nastąpi skok pod adres 0 (programowy reset). Może też być problem z przepełnieniem stosu/nadpisywaniem zmiennych. Za mało informacji o objawach i ogólnym zarysie programu lub części, która jest wadliwa (o ile to kod). Jeśli masz tak dużo kodu, to powinieneś umieć sam znajdywać takie problemy (problemy...
http://obrazki.elektroda.pl/4134553500_1... Witam. Chciałem wam przedstawić mój najnowszy ukończony projekt jakim jest kostka LED 4x4x4. Niestety na forum jest mało takich projektów, a ja usilnie chciałem mieć taką kostkę, aby była bezpośrednio połączona z płytką. (bez plątaniny przewodów na płytce uniwersalnej). Trafiłem na stronę...
Jak najbardzie jest to możliwe i jest to bardzo trudny błąd programowy do wykrycia. To ciekawe że kompilator C sam tego nie zrobił.
A co da taki JMP?
Witam Mam kilka pytań do starszych kolegów. Nie wiem jak ''ugryźć'' tego pwm-a żeby diody rozjaśniały mi się wszystkie od razu [syntax=bash] ...... Dim led(3) As Byte ........ Przerwanie: Incr Licznik If Licznik = 100 Then Licznik = 0 If Licznik < led(1) Then Set D1 Else Reset D1 If Licznik < led(2) Then Set D2 Else Reset D2 If Licznik < led(3)...
Nie byłoby pewniej dokonywać resetu poprzez programową obsługę ? Ustawiasz sobie określony ciąg odebranych danych które definiujesz jako reset w momencie kiedy avr to obierze skacze pod adres $0000 i masz reset.
Kolego chrobek W programie zastosuj jedną pętle Do Loop i w niej umieść sprawdzanie przycisków,stycznika,komparatora,stanu przekażników.Uruchom programowy licznik i w pętli Do Loop wykorzystaj go do sprawdzania stanu przycisków i innych zewnętrznych urządzeń.Do podprogramów skacz tylko aby go wykonać (nie używaj Waitms a tym bardziej Wait 1 w tym czasie,...
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...)
Racja :) ale wydaje mi się że raczej chodzi o reset programowy itp. Bo chyba nikt nie będzie resetował zegara przyciskiem RESET ? Chodzi tu raczej o spadki napięć, reset spowodowany zakłóceniami itd. Przy spadku napięcia nie pomoże żadna opcja. A może się mylę ?
Gdybyś nie był taki zadufany w sobie to może by dotarło w końcu, że Shiftout to tylko połówka SPI i niczego nie odbiera. Jest tam tylko Clock i Data Do wysłania są tylko dwa bajty . W zależności od tego jakiego argumentu użyje się na końcu instrukcji wprowadzane są delay`e. Z wartoscią 100 zajmuje 3 ms , a z wartością 200 zajmuje 6 ms . Bez nich transmisja...
Ale teraz jest w ogóle bez WatchDoga więc jak kolega przynajmniej czasami będzie go włączał to chyba tragedia się nie stanie? Można programowo wyłączać i włączać. Wszystko jest w Datasheecie w rozdziale "System Control and Reset" Włącza i wyłącza się bitem WDE w rejestrze WDTCR.
Witam wszystkich. Zaczynam zabawę z AVRami i robię prostą płytkę testową. Pytanie jest takie, że nie wiem czy jak napisze program w którym zdefiniuje pin Reset jako pin, jeden z 6, do obsługi LCD, to czy będę mógł normalnie programować i czy ta ATmega się nie zablokuje dla ISP. Oczywiście to co napisałem to tylko programowo konfigurowalne bez użycie,...
Temat poruszany ale ... pomysl nowy. Jak doskonale wiemy w sieci LAN (typowa skretka) zostaja 2 pary wolne (na 100% b-nieb. nieb.). Wykombinowalem sobie ze moze te linie wykorzystac do podlaczenia slave-ow poprzez magistrale 1wire. Mam w sieci ok. 7 switchy one lubia sie czasem "zawiesic" nie wnikam w stan programowy bo z tym roznie. Zwykle pomaga odlaczenie...
Witam :) Wykonalem dlas pewnej osoby ukladzik z Atmega w roli glownej, programowym PWMemem i komunikacja po USARCIE, wszystko u mnie gotowe, dzialajace. Wszystko juz dzialalo wiec uklad oddsalem :) U tejże osoby jednak po zaprogramowaniu (nie sprawdzony uC przed programowaniem) Atmega nie chciala wystartowac (reset powinna zasygnalizaowac 3 mignieciami)....
MadArtSoft --> najważniejsze to tak jak widzisz - umieć sobie radzić podążając jakimiś małymi krokami. Jednym z nich było to sprawdzenie z Bascomem ;) teraz ja na twoim miejscu - zabrałbym się po pierwsze za upewnienie się czy na 1000000% masz poprawnie ustawione fusebity (chodzi o częstotliwość taktowania procka - i czy takie masz ustawienie w projekcie...
oprócz zmiennej temp reszta czyli aż int0_flag jest volatile większa cześć kodu jest z słynnej ostatnio książki na forum. jeszcze nie zdążyłem za dużo pozmieniać [syntax=cpp] /* * main.c * * Created on: 2012-02-14 * Author: Jacek */ #include <avr/io.h> #include <stdlib.h> #include <avr/pgmspace.h> #include <avr/interrupt.h> #include...
W praktyce masz dostępnych 22 pinów I/O + 1 w rezerwie ( RESET ). Ramu jak na takie zadanie wystarczająco. 15 kanałów programowych PWM da się zrobić. Dwa przyciski (np. INT0 i INT1), pin ICP do detekcji IR. Wejścia na bazie sprzętu bez potrzeby poolingu więc program wyjdzie nie za duży. Wyjścia jak kol. Raphaw napisał koniecznie separowane albo uln'ami...
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 mi sie udalo oszukać :) ale działa to tylko atmega - atmega z GPS tego numeru sie nie wykręci a szkoda ;) Open "comc.5:4800,8,n,1" For Input As #1 Open "comc.4:4800,8,n,1" For Output As #2 Do K6 = Waitkey(#1) ' odczyt bajtu Print #2 , "" ' reset If K6 = 13 Then Exit Do K3 = K3 + Chr(k6) Lcd K6...
program nie wysypie się z powodu braku przecinka i zablokuje proca. Z powodu braku przecinka to jedynie się nie skompiluje. Stm nie można zablokować programowo, gdyż zawsze po reset przywracane są domyślne funkcje portów. Dlatego Znajdż checkbox "connect under reset" Wracając do tematu nowego atxmega, jeśli z ekranem lcd będziesz komunikować się poprzez...
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...
zgadzam się wiem ze wystarczy podlaczyc zasilanie by procek działał. Pytam o "dobre zwyczaje" czyli tzw podlączenie wzorowe zeby mieć pewność gdy cos jest zle to tylko wina programu a nie zaoszczędzenia 2gr na opornikach :) Jest masa schematów w sieci i co gorsza każdy inny dlatego zależalo mi na argumentacji dlaczego ten kondesator tutaj, dławik tu,...
Domyślam się że to wszystko z powodu przepięć, tylko dlaczego, skoro przekaźnik jest zasilany z osobnego źródła i jest odizolowany od części płytki z mikrokontrolerem? Kwestia pojemności pasożytniczych, przez które zakłócenia przedostają się na częśc cyfrową układu. Bez diody podczas przełączania na cewce indukuje się napięcie rzędu 200+V (przykładowa...
Dobra, skoro nie ma rozwiązania, to poradziłem sobie w inny sposób. Podłączyłem do PINu RESET fototranzystor i do wolnego portu diodę LED. Programowo ustawiam stan niski na porcie, zapala się led i resetuje Uc. Jednym słowem programowe resetowanie wspomagane sprzętowym :D. Działa prawidłowo, sprawę Watchdoga na razie zostawię w spokoju.
WItam W projekcie na Atmega328p wymagane są dwa UARTy, próbuję zrealizować drugi jako programowy którego odbiór danych miałby być uruchamiany przerwaniem INT0, mam kłopot z zerowaniem flagi EIFR przerwania, odbiór 1 bajtu danych wywołuje 2x wejście do przerwania, kombinuję by wejście do przerwania kasowało rejestry flagi INT0 jednak obojętnie czy piszę...
Kabelki skrócone, problem jak narazie się nie pojawia, czyli jest dobrze :) Teraz z kolei walczę, a raczej poprawiam błąd programowy z kasowaniem daty i ustawień przez wyjęcie kabla usb z gniazda. Rozumiem, że wysyłane są śmieci, które procek zapisuje, śmieci te to same zera...usart wysyła tablicę zer, która się zapisuje. Zrobiłem sobie w programie...
Witam Od razu zaznaczę, że w kodowaniu jestem początkujący Mam problem z tym kodem - mianowicie żadne serwo się nie porusza przy zastosowaniu poniższego kodu. Polega on na sterowaniu wypełnieniem od 0 do 2,3 ms w pierwszej pętli for trwającej 10us o co dba timer. Gdy pętla będzie wykonywana po raz 150, stan na liniach portu A powinien wrócić do 0. Gdy...
Na takiej płyteczce uniwersalnej http://www.cyfronika.com.pl/art44/um0.jp... (35 x 86 mm) posadziałem: ATMega8 (6* ADC 10 bit) kwarc przycisk reset MAX232, czyli mam RS-232 (jest miejsce na drugi, programowy) stabilizator 5V goldpiny do portów, złącze ISP 2*led (zasilanie i "sonda" z tranzystorem) koszt? kilkanaście złotych (kolejna wersja będzie chyba...
Analizator dawal wyniki niejednoznaczne (tzn losowe fazy transmisji w trakcie zwiechy). Poradziałem sobie przez reset interfejsu i dotaktowanie razem po stronie mastera. Nie wiem dlaczego samo dotaktowanie, lub samo zresetowanie mastera nie dawało wyjścia i dlaczego master (i2c doskladnie bo master zyje) sie zawiesza. Dziwiaczny objaw - jeszcze z taką...
Po pierwsze to przydałaby się jakaś pętla w tym programie, bo na razie to po sprawdzeniu warunku następuje programowy reset i wszystko powtarza się od nowa - czyszczenie wyświetlacza, inicjalizacja itd. 4\/3!!
Hmm Serdeczne podziękowanie Kod przerobiłem, troszeczkę pomyślałem i jest OKI Rzeczywiście, wasze sugestie że jestem **** programistą zmotywowały mnie :) Atmega 128 zastosowana dlatego że potrzebowałem sporej ilości wyprowadzeń no i jeszcze ilość wykonywanych procedur w tym samym momencie ponad 100. Pisze taki mały Sterownik Domowy (inteligentny dom)...
Na wszelki wypadek dopytam, czy dobrze zlokalizowałem na Twoim schemacie te dodane w nowej wersji rezystorki ? ...rezystor ściągający na pin RX atmegi... R27 ...rezystory ściągające linie 5V i 12V ... R25 i R24 ...Opcjonalnie rezystor podciągający pin reset atmegi... R26 Właśnie sobie analizuję ścieżki dookoła TQFP i wygląda na to, że jednak zmiany...
Jest to proste korzystasz z przerwań jakie generuje timer0 podobnie jak to opisał kolega z innego tematu tego fora w bascom napisał '************* Konfiguracja uC ***************** '***************************************... $regfile = "attiny2313.dat" $crystal = 16000000 Config Portb = &B11111111 : Portb = &B11111111 Config Portd = &B11111111...
Kondensatory obok kwarca mają 22pF, zasilanie na resecie też sprawdziłem, ma 5V. Natomiast gdy przycisk jest wciśnięty spada do 0V. Zasilania mikrokontrolera i części przetwornika A/C sprawdziłem wynosi 5V. Natomiast napięcie referencyjne przetwornika programowo ustawiłem jako napięcie zasilania. Zastanawiam się jednak czy może komuś w sklepie podczas...
Witajcie Napotkałem następujący problem - Mam układ komunikujący się szeregowo z procesorem w sposób następujący: 1. Układ wywołuje przerwanie 2. Odbieram dane statusu od układu 3. Wychodzę z przerwania i to działa. Problem zaczyna się jeżeli odebrane dane statusu wymuszają w procesorze kolejne operacje z użyciem układu. Ponieważ idzie to tak: 1.Układ...
Witam. Nie miałem takowych problemów z podanymi instrukcjami. Wrzuć na forum kod który źle chodzi to prędzej coś może ktoś wydedukuje. Jeśli program po wykonaniu gosub i powrocie returnem nie działa tak jak powinien to podejrzewam że w stosunku do tego co wytworzyłeś masz ustawiony za mały stos sprzętowy,programowy lub ramkę. Sprawdź to bo z powodu...
Co do pierwszego postu: To jest wynik pisania czegoś takiego jak "TIMSK = 0x80;" W ten sposób załącza się przerwanie OCIE2:"Timer/Counter2 Output Compare Match Interrupt Enable" a nie TOIE2:"Timer/Counter2 Overflow Interrupt Enable", który jest bit niżej. W symulatorze dokładnie widać, że jest wykonywany nie ten wektor przerwania. http://obrazki.elektroda.net/94_12161272...
Schemat który podałeś jest identyczny do drivera na A4988. Czy Twój sterownik ma regulację prądu na silnik? Ostatnio jestem bardzo zaawansowany w sterowaniu silników krokowych i najpierw sprawdzam, czy sterownik prawidłowo steruje. Z Twojego schematu: -mostki M0,M1,M2 - to mikrokroki - jeżeli nie zmieniasz programowo w czasie działania programu mikrokroków...
Dany jest sam rezystor 10k na reset do zasilania. A dlaczego kondensatory nie są konieczne? To niby jak będzie niwelowane drganie styków? Nie mówię tutaj o programowym, chciał bym postarać się go nie używać. Wiem że może to i dobre rozwiązanie, dla jeśli można to rozwiązać sprzętowo to czemu nie, nie wszystko musimy pchać w program.
Sytuacja wygląda tak. mój uC komunikuje się z komputerem poprzez układ FT232 na wirtualnym porcie COM. Wszystko pracuje sprawnie zaraz po włączeniu. Po nieokreślonym upływie czasu uC jest nadal w stanie wysyłać dane do komputera ten jednak przestaje odpowiadać (lub procesor odbierać). Problem rozwiązuje wyłączenie na chwile zasilania na uC (tylko tu),...
Nie chciałbym zakładać nowego wątku także, opiszę kolejny problem jaki na potkałem przy budowie tego sterownika w tym temacie. Poniżej zamieszczam testowy kod do sterowania silnikiem lewo prawo. http://obrazki.elektroda.pl/6448390600_1... Przykładowo po pierwszym wysterowania śruba przemieszcza się z punktu 1 do punktu 2, przy kolejnym...
Wychodzi na to że jest problem z dopasowaniem sygnałów na liniach RX/TX, rozwiązaniem może być wstawienie MAX2323 na liniach SIM300 <-> uC. Podłączyłem teraz pod Atmege162, SIM300 i odbiornik FGPMMOSL3 bo tylko takie teraz mam pod ręką i jest wszystko ok, program bez przerwań mam, nic sie nie resetuje. Spróbuj może GPS odczytać na programowym...
Może reset programowy ATZ ? albo: http://www.edaboard.com/thread192604.htm...
A tak z ciekawości tylko - dlaczego watchdog odpada? jakieś problemy z jego odpalaniem czy jak? Przecież to bardzo łatwy i zawsze pewny sposób a do tego nie trzeba żadnych pinów uzywać itp. Nie żebym na siłę forsował to rozwiązanie - ale jak mówiłem z ciekawości pytam.
Wywoływanie przerwania w symulatorze może i jest, ale twój program nieoczekiwanie będzie się wtedy resetował. Nie musisz załączać przerwania (SPIE) żeby sprawdzać flagę SPIF. Jeśli załączysz SPIE, procek (symulowany) będzie przechodził do odpowiedniego wektora przerwań, a tam nie ma żadnej procedury obsługi przerwania (domyślnie jest skok pod etykietę...
Dorób w programie ręczne reinicjowanie modułu radiowego np. za pomocą przycisku. Jeśli się "zatnie" - zresetuj moduł programowo. U nas dał popalić układ detekcji napięcia baterii - przy bardzo wolnej zmianie napięcia zasilającego w okolicy ustawionego progu zadziałania włączał się nadajnik blokując częstotliwość. Może u Ciebie wychodzi jakaś inna wada?...
Moze nie do konca na temat ale zwiazany z fuse bits Potrzebowalem ukladu ktory ma sporo we/wy i na forum polecono mi atmege. wiec wybralem atmega16. wczesniej do moich skromnych potrzeb wystarczal 89c2051. ale ten uklad mnie draznil :) Oczywiscie nie obylo sie z zamieszaniem fusami. odpalilem sobie kolejny zciagniety program i to byl ISP Programer....
http://obrazki.elektroda.pl/2095365300_1... LCD_RST - RESET LCD_RS - RS LCD_CLK - CLK LCD_DAT - DAT LCD_CS - CS LCD_GND - GND LED_GND - GND LED+ - LED+ LCD_2V9 - 2V9 LCD_1V8 - 1V8 Chyba nie takie trudne :) Czy zastosowanie dwóch mniejszych procków np. Atmeg8 komunikujących się ze sobą poprzez UART nie poprawiło by parametrów urządzenia?...
Ja wypuscilem 4x100szt ukladow opartych na 89s52 +24c02 ktore sa resetowane b czesto i jakos wszystkie dzialaja bez zadnego ;problemu Malo tego ten sam uklad po modyfikacji na mege16 z wew epromem nadal dziala bez problemu i nic sie nie degeneruje<a bod wylaczony> 3x100szt Pogratulować szczęścia, powinieneś grać w "Totolotka". A tak na serio...
Zamiast diody Zenera, tranzystora i rezystora, zastosuj liniowy stabilizator LM78L05. Projekt będzie prostszy, a układ zasilania bardziej niezawodny. Dlaczego? Przeczytaj w nocie katalogowej takiego stabilizatora. Układ INPUT z zastosowaniem dodatkowych rezystorów jest zbędny. Wystarczy przyciski podłączyć bezpośrednio do pinów Atmega8, a podciągnięcie...
"wybiera programowany układ" - czyli zdejmuje reset z jednego układu a na pozostałych pozostawia aktywny? Na jeden MCU jest routowany sygnał RESET z programatora, na pozostałych jest trzymany stale aktywny. Pozostałe ścieżki programowe mogą być cały czas podłączone do wszystkich układów jednocześnie? Nie będzie przez to problemów? Nie będzie za dużej...
Jeśli chodzi o makra, no cóż... Nikt nigdy się nie pokusił, żeby o tym wspomnieć na studiach, a samemu jeszcze do tego nie doszedłem, stąd te błędy. Co do priorytetów to się nie zgodzę, bo przecież ważniejsze jest przerwanie o niższym adresie (najpierw RESET, potem INT0, INT1 itd. ) No chyba, że to co jest w książkach jest błędem. Jeśli chodzi o prąd...
Cześć, po włączeniu wdt i resecie procek jakby zmienia taktowanie , zdaje się że procek przyspiesza. Czy może ktoś wie czym to może być spowodowane? Szukam rozwiązania aby zrobić programowy reset. Załączam filmik. [syntax=c] DDRD = _BV(5); _delay_ms(1000); PORTD &= ~(1<<5);//led of _delay_ms(1000); PORTD |= (1<<5);//led on _delay_ms(1000);...
napisałem program zmieniłem taktowanie uc na 8MHz wgrałem program jedyne, co działa to obsługa przycisków Dodano po 24 Problem najpewniej występuje w tej części programu: Dodano po 3 66 osoby widziały ten post, ale tylko jedna odpowiedziała. Wiesz dlaczego? Ponieważ Twój kod i schemat są nieczytelne. Nadal to jest problem? Jakie mosfety włączają zasilanie?...
możesz zrobić przerwanie z timera + programowy "watchodg" który sprawdzi co jakiś czas czy procesor działa. Jeśli nie (bo wartość w programowym watchdogu jest zbyt duża) to wtedy taka sekwencja: 0. sprawdzenie flagi "gotowy" - jeśli ustawiona to czekaj na reset z WD - nie rób nic 1. reset wd 2. zapis do eeprom 3. ustawienie flagi "gotowy" cóż, słyszałem...
Sporo tego ( obsługa SD, PCF8563 + menu do ustawiania daty, obsługa PCF8574 w przerwaniu INT1 )- ale nie ma problemu - zmieniła się tylko zawartość podprogramu Pomiar była taka, jak w pierwszym poście oraz wyłączyłem w wyświetlanie na LCD tych wartości wskazań z DS18B20, oczywiście dostosowałem pozycje wyświetlania do LCD 4*20 - załączniku spakowany...
Miałem kiedyś jakąś potrzebę na taki 8-o przyciskowy program dla attiny2313. Zamieszczam go w całości z komentarzami, może Ci się przyda: [syntax=basic4gl]$regfile "attiny2313.dat" $crystal = 1000000 '-- Config Portb = Input Portb = &B11111111 Config Portd = Output Portd = &B00000000 Config Porta.0 = Output Porta.0 = 0 Dim Nr As Byte 'licznik...
To czekamy na prezentację jak już wszystko będzie działać :) Prezentacja na pewno będzie jak już wszystko złożę w całość. Jak na razie w wolnych chwilach pomiędzy zajęciami staram się dopracowywać wszystko na płytce stykowej. Zaobserwowałem dziwną rzecz. Atmega po kilku przejściach programu (czyt. po kilku uaktywnieniach ledów z czujnika) samoistnie...
Witam. Od 3 dni siedzę już nad programowym PWM. Wykorzystuję do tego przerwanie na timerze, ale coś nie działa tak jak powinno otóż jak nie mam ustawionego stanu 1 na ostatnim bicie portu to PWM dziwnie się zachowuje. //Includes #include "avr/io.h" #include "inttypes.h" #include "stdio.h" #include "util/delay.h"...
Witam, zaprojektowalem maly uklad ktorego zadaniem jest zdalne sterowanie elektrozamkiem 12V/250mA. Schemat moze nie jest jakos skomplikowany ale chcialbym uniknac kilkukrotnego zamawiania PCB. Uklad jest zasilany z zasilacza 5V/3A, a gdy zabraknie prądu przełączy sie na zasilanie z baterii. Takie mniej wiecej obiekty programowe beda : 1. Gdy na baterii...
Witam! Mam problem z uruchomieniem modułów radiowych RFM12 pod STM32. Uruchomiłem je bez problemu na ATmegach8 korzystając z funkcji opisanych w [url=http://www.elektroda.pl/rtvforum/vi... poście. Jest to programowy SPI i przepisałem funkcje od nadajnika tworząc coś takiego: [syntax=c] #include "stm32f10x.h" #include "GLCD.h"...
To jest wyświetlacz LS020 na sterowniku Sharpa. Odpaliłem już ten wyświetlacz ale na programowym SPI a nie na sprzętowym ARM-owskim. I rzeczywiście po zainicjowaniu pokazuje śmieci i jak narazie umiem go wyczyścić kolorem. Teraz biorę się za znaki ;D. Jakby ktoś miał jakieś wątpliwości to RESET i CS są aktywne w stanie niskim (to dla tych którzy zaczynają...
Witam, Przeszukałem forum i nie znalazłem rozwiązania które by pomogło. Problem wygląda następująco. Komponenty problemu Atmega8a, bascom AVR IDE (2.0.7.5), czujnik DS18B20. Sprawdzone problemy z forum: -Nieprawidłowe podłączenie. Nóżka danych jest podciągnięta przez 4,7k Ohma do 5V -Kable zostały sprawdzone pod względem ciągłości -Sprawdziłem czy jest...
Witam serdecznie, problem z DS18B20 jest następujący - podłączam do atmegi, włączam, teraz na oscyloskopie widzę impuls resetu i nic więcej. Zero komunikacji ze strony DS'a. Próbowałem podłączać dwa które mam i jest problem. Oczywiście podłączony jest rezystor pull-up 4,7k Ohm, korzystam ostatecznie z programu zamieszonego tutaj http://www.jaglarz.com/ja/elektronika/ds...
Witam. Dziękuję za radę, dzięki niej ruszyłem z projektem nieba. Na ta chwile wygląda to tak jak na filmiku. Tak, oczywiście z tym kwarcem to pomyłka, Atmega 32 taktowana jest z częstotliwością 16MHz. Umieszczam także kod źródłowy jaki wyskrobałem. wszelkie uwagi mile widziane. https://filmy.elektroda.pl/83_1416058356... Dodano po 5 ...i jeszcze jedna...
Czy na programowym SPI potencjometr działał w tej samej konfiguracji sprzętowej? Programator nie zostawia /RESET-u? Prawidłowo jest podłączony ten potencjometr? Najlepiej by było gdybyś pokazał schemat/zdjęcie układu. Pozdrawiam, GSM
Jeśli chodzi o soft, to powstał szkielet programu. Na razie odmierza to czas, i powinno obsługiwać pilot RC5. W polach „A:” – powinien wyświetlić się adres pilota, „C:” – numer przycisku z pilota. W symulacji programowej poszło, ale na razie nie mogę przeprowadzić prób z braku modelu. Ale żeby stworzyć wersje BETA...
Tu nie ma co gdybać, najlepszym rozwiązaniem byłoby napisanie porządnego kodu obsługi LCD zamiast tej lepianki z błota. Jeśli autor tego nie potrafi to są dziesiątki gotowych bibliotek dostępnych w internecie. Tak jak napisał m8se , acz nie do końca. Owo "trzykrotne konfigurowanie 8-bitowego interfejsu" to nic innego jak programowy reset wyświetlacza....
Kondensator na nodze reset zbędny, a nawet przeszkadzający. A jak nie wykrywa to musiałeś coś uszkodzić - nie ma mocnych, żeby procesor sam z siebie padł w takim stopniu, że nie startuje nawet z bootloadera. A z tej półki cenowej możesz poszukać jeszcze STK500v2, ale na układzie FT232RL, a nie programowym USB. Choć moim zdaniem ten programator który...
Dziękuje za opis ale chyba mnie to przerosło :) Zrobiłem programowy PWM, oto kod: [syntax=basic4gl] '************** Petla glowna ****************** '***************************************... Do '(at)(at)(at)(at)(at)(at) Obsługa klawiszy (at)(at)(at)(at)(at)(at) If Przycisk > 0 Then Przycisk = 0 If L1 = 0 Then L1 = 20 If Wybor = 0 Then If K_wybor...
Już trochę więcej wiem, spróbuję Was naprowadzić na problem, który dalej nie wiem jak rozwiązać. Obciążenie stycznika lub jego brak nie ma wpływu. Przyczyną zwisu są zakłócenia magnetyczne generowane przez cewkę stycznika tak samo podczas włączania i wyłączania. Te zakłócenia indukują piki napięciowe na osobnej płytce procesora U1. Jeśli płytki są...
(at)mzielin może i masz racje z tym watchdogiem (szczerze myślałem że się bez niego obejdzie :) ), jednak chyba nie umiem go prawidłowo zaprogramować, a mianowicie: void reset(void) { asm("cli"); //na wszelki wypadek asm("wdr"); //reset flagi WDRF w rejestrze MCUSR //nie ustawiam bitów WDP0..3, ponieważ...
Jak wykonać programowy reset procesora ATmega32?
Nie mam przez weekend dostępu do programatora itp. aby sprawdzić mój program. Czy poniższy kod zadziała jak programowe pwm na pd.2 oraz czy pb.3 będzie sobie mrugał? Wiem że nie powinienem pytać, tylko to sprawdzić ale zależy mi na waszej opinii :D $crystal = 1000000 $regfile = "m16def.dat" Config Timer0 = Timer , Prescale = 8 On Timer0 Przerwanie...
dla kwarca lub oscylatora 8MHz i preskalera = 64, będziesz miał PWM 8bitowy z częstotliwością 15,625KHz i wszystko powinno chulać Zakładając , że zmienna Licz jest 8-bitowa , to mi wychodzi , że okress takiego PWM-a jest < 2Hz :!: Ale rozumiem , późno było ;) ... ale na pewno przenieś rezystor na drugą stronę Hmmm... a jaka to różnica :?: Czyżbyś...
teraz po przemyśleniu całej sprawy okazuje się rzeczywiście jak już nawet rozpoznam układ to programowo strasznie ciężko będzie wszystko ogarnąć - nawet kompilatorowi się to nie spodoba :) ... wymyślę coś innego :). Można odczytać sygnaturę układu (w ATMEGA2560 tak robię). [syntax=asm]clrZH ldiZL, LOW(0x0000) ; Z na 0x0000 (Device Signature Byte 1)...
Zrobiłem jeszcze pare prób i otrzymałem taki wynik, że układ nie zawiesza się tylko podczas włączenia świateł pada komunikacja miedzy wyświetlaczem lcd a procesorem. Jest jakieś polecenie które mogło by postawić wyświetlacz na nogi po jakimś błędzie? jakis programowy reset?
Witam. Po przerwie wracam do tematu gdyż nadal nie mogę poradzić sobie z obsługą karty Compact Flash za pomocą mikrokonrolera. Sprawa wygląda w ten sposób że wykonałem układ do obsługi karty CF jak na poniższym schemacie. Poniższy schemat jest zaczerpnięty z Elektroniki Praktycznej z rocznika 2/2004 http://obrazki.elektroda.net/39_12252239...
no problem polega na tym ze wykorzystujac petele potrafie odebierac transmisje z mastera. przy takim rozwiazaniu rzecz jasna nie mam czasu zeby zajac sie obsluga np. LCD. sama zasade magistrali i2c znam i rozumiem, ale niebardzo potrafie to zaimplementowac na przerwaniach w upc. wynika to napewno z malej wiedzy o mikrokontrolerach ale zaczynam programowac...
Kod jest prosty, bo siedze nad nim od dawna i już wyrzuciłem wszystko co było zbędne. Zależy mi na tym by na wyświetlaczu pojawił się napis "Timer0 OK". [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "LCD/lcd44780.h" void timer_start (void); volatile uint16_t...
Wykonywanie tak długich zadań jak choćby operacje na LCD w przerwaniach aż się prosi o kłopoty. Zrób sobie w przerwaniach kilka timerów programowych i ich zawartość badaj w pętli głównej Do...Loop i to od tych timerów uzależniaj kolejność wykonywania odpowiednich sekwencji (fragmentów) programu.
Stawiasz warunki, a nie potrafisz poprawnie zadać pytania. Czy chodzi Ci o zresetowanie? Jeżeli tak, to do tego nie potrzeba programatora, tylko układ resetu (ewentualnie programowy) i procesor wykona program od początku. Jeżeli Ci chodzi o wykasowanie programu z procesora, to konieczny jest programator.
http://obrazki.elektroda.net/39_12695375... Witam! Po ostatnim wysypie zasilaczy na DIY postanowiłem pokazać ostatnio skonstruowane urządzenie tego typu . Zasilacz został zaprojektowany i wykonany od podstaw . Konstrukcja została zrobiona dla mojego kolegi prowadzącego Autoryzowany Serwis firmy Thomson z przeznaczeniem na stanowisko napraw...
Niestety nadal w programie jest błąd. Ta moja wersja z krótszym buforem też się zawiesza. Jak bufor był krótszy i zaczynał się od 0 i szedł do 31 to zawieszanie następowało tak jak normalnie. U mnie po 67 sekundach. Czyli ta BASCOMowa zmienna siedzi gdzieś na początku bufora. Przesunąłem wykorzystywaną cześć bufora do indexów 128…159 i zawieszanie...
No dobra. Pierwsze kroki. Teoria: http://ep.com.pl/files/3561.pdf Aplikacja do testów: http://www.mcselec.com/index.php?option=... Kod bootloadera: http://avrhelp.mcselec.com/index.html?lo... 1. W urządzeniu na ATmega644p stosuję wewnętrzny oscylator 8MHz i prędkość transmisji po UART 4800 baud (8N1,...
atmega reset programowy reset programowy atmega atmega programowy
aktualizacja biosu amilo samsung ue49nu7102 samsung przekaźnik pralka siemens
miernik impedancji pętli zwarcia miernik impedancji pętli zwarcia
Sony HCD-N300 - brak podtrzymania zegara po zaniku zasilania Kod do radia Citroen C2 2007 po wymianie akumulatora