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...
Proszę - tak w świątecznym nastroju ;) Dodałem korekcję mojego pomysłu. Bardzo prosta ale skuteczna. Nadmienić trzeba, że sterowanie trzema kanałami ma sens wtedy, kiedy potem, gdzieś w kodzie, te kanały mają różne wartości. https://filmy.elektroda.pl/1_1450952163.... [syntax=vbnet]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 80 $swstack = 64...
Mam pytanie o programowy reset w jaki sposób może powstać reset -programowo .Mam ok 50k kodu dlatego nie prezentuje a układ ma ponad 600 pól lutowniczych jest dość skomplikowany .Moje pytanie brzmi jak w nie planowany sposób programowo powstaje pasożytniczy reset ? Dodaje że nie ma on związku ze zmianą stanu portów oprócz zmiany linii danych na wyświetlaczu...
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
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ę ?
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...
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...
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...
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...
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...
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...
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ą?
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...
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...
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...
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...
Dobra nie będą Cię więcej męczył tylko powiem. To nie będzie reset. Podczas sprzętowego resetu są asynchronicznie resetowanie wszystkie rejestry specjalne. Czyli piny są ustawiane jako Hi-Z, Timery są zatrzymywane, ADC/I2C/SPI/UART zatrzymywane, przerwania wyłączane itd. itp. Skok pod adres 0 nie zrobi tego. K***a. Nic nie zrobi. Żeby to zrobić trzeba...
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...
... 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...
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"....
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ę...
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>...
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...
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.
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ł.
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,...
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...
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.
Witam Mam program budzika, który jako dodatkową atrakcję miał mieć możliwość mówienie czasu na żądanie i odtwarzanie oprócz buzzera utworu jako alarmu. Atmega steruje przez jedno SPI programowe układem MAX7219, a przez konwerter poziomów i drugie SPI programowe odtwarzaczem WTV020SD. O ile sam WVT020SD + PCF8563 ( wyjście CLK do INT1 ) działają dobrze,...
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,...
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...
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)....
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...
tylko jeszcze pytanie czy walnięty programowo jest STLINK czy felerne są procki ? One są OK. Bardzo trudno je zepsuć. Bład popełnia ten, kto je programuje i podłącza. Wgranie softu bez poprawek już NIEMOZLIWE Pewnie program poszedł w maliny i zmienił ustawienia pinów do debug. Weż sobie zainstaluj STMCubeprogrammer i podłacz płykę pod resetem. Niestety...
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...
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...
Witam. Uruchomiłem LCD z telefonu Nokia 3310 z Atmegą 8. Na programowym SPI działa bez problemu. Na sprzętowym działać nie chce. Kod: [syntax=c] #define LCD_CLK_PIN (1<<PB5) #define LCD_DATA_PIN (1<<PB3) #define LCD_DC_PIN (1<<PB1) #define LCD_CE_PIN (1<<PB0) #define LCD_RST_PIN (1<<PD7) //######################################...
no nie doprecyzowałem, przed resetem przerwanie wykonuje się 30 razy , potem jest reset programowy > czyli jak w opisach Dodano po 14 edit - 1 cykl od resetu do resetu to 30 razy wykonane przerwanie i potem reset wiem, że to brzmi niedorzecznie dlatego podejrzewam jakiś kardynalny błąd w ISR jest zmiana stanu pina i wysłanie na uarta > stąd wiem, że...
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...
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...)
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...
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?...
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 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...
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?...
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.
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...
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...
Wszystko racja prawie, ale istnieje minimalistyczny sposob podlaczenia: gdn i vcc podlaczam do zasilania wewnatrz ukladu istnieje polaczenie (oczywiscie programowe ograniczenia) nie stosuje zadnych podciagajacych rezystorow na resecie. a kondenstatorki przy kwarcu tylko w wypadku jak sie nie wzbudza (rzadki przypadek promilowy) i jesli juz to daje tylko...
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);...
ano widzisz - teraz lepiej, po pierwsze mała uwaga - po co te kondensatory C8 i C9 na wejściach INT0 i INT1 ?????? odłącz je rozumiem, że kwarc oraz kondensatorki 33pF dałeś maksymalnie blisko nóżek procka - teoretycznie ścieżki do nóżek kwarca nie powinny być dłuższe niż 3cm i mam nadzieję, że dałeś już teraz kondensator 100n oraz ze 47uF przy samych...
Serdecznie dziękuje za udzielanie się w temacie. Uwaga użytkownika dondu była trafiona w dziesiątke aczkolwiek każdy poszerzył trochę moją wiedze. Skoki te były powodowane resetowaniem się procesora? Nie wiem czemu co i jak, ale podpiąłem pod reset Vcc przez rezystor 10k i wszystko śmiga jak trzeba. Doszkoliłem się trochę w temacie i popracuję trochę...
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...
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ą...
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ą...
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ę...
Jedno z wyjść połącz do linii RESET i sterując tym wyjsciem z poziomu programu, możesz zrobić reset procesora.
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!!
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...
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...
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...
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),...
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)...
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...
Złożyłem sobie prostą płytkę z atmegą 32u4RC-AU i w żaden sposób nie mogę się z nią skomunikować. Poprzez ISP avrdude zwraca cały czas [error: programm enable: target doesn`t answer. 1] [initialization failed, rc=-1]. Sprawdzone z zworką slow sck oraz próby programowego zwalniania. Połączenia sprawdzone wielokrotnie bezpośrednio na nóżkach uC i gniazdach...
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...
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...
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...
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.
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?...
Idea jest taka: Obniżam częstotliwość za pomocą ckdivX wlączam watchdoga z przerwaniami co 1s bez resetu, potem tryb power down, robie taki prosty licznik w watchdogu który jeżeli zliczy np. 500 s to ustawia stan wysoki na pinie pb0, który jest podĺaczony do int0 a to wybudza atmege. Jeżeli już atmega jest w. stanie aktywnym to wyłączam ckdiv w celu...
Może reset programowy ATZ ? albo: http://www.edaboard.com/thread192604.htm...
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...
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...
ESP8266 jest ze dwa rzędy wielkości mocniejszy od AVR'ów I tu muszę niestety bardzo surowo odpowiedzieć. Po pierwsze nie rozumie kolega wyrażeń, którymi się posługuje. Po drugie nie zna kolega rzeczywistej wydajności rdzenia Xtensa (są porównania do AVR i STM), po trzecie nie rozumie kolega ograniczeń tego SoC/MCU. A w porównaniu do tych "słabych"...
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...
"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...
http://obrazki.elektroda.pl/4399558400_1... Witam. Jest to mój pierwszy post w tym temacie, także proszę o zrozumienie. Ostatnimi czasy zwrócił się do mnie znajomy z potrzebą wykonania sterownika do zgrzewarki punktowej o mocy teoretycznej 24 kVA zasilanej między fazowo. Podjąłem próbę i tak powstało urządzenie, które zamierzam opisać...
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...
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.
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?...
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...
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....
Witam wszystkich :) Jakiś czas temu złożyłem odtwarzacz plików dźwiękowych wav korzystający z wbudowanego w atmege32 PWM 8 bit-owego, postanowiłem poprawić jakość odtwarzanego dźwięku poprzez dodanie zewnętrznego DAC-a którym jest TDA1543 . Pojawiło się kilka problemów ponieważ nie wiem w jaki sposób mogę podłączyć i odpowiednio przerobić kod programu...
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...
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...
Chciałbym wykonac reset uC po odebraniu danych z kompa - ma to być pojedynczy reset rozkaz któego umieszczę w procedurze przerwania. Jak to zrobic ? (ATmega32 , pisze w C).
http://obrazki.elektroda.pl/1051495700_1... Tysiące mililitrów kawy, setki demotywatoro-godzin, kilkadziesiąt „THE NIGHT OF CODE” i o to jest. Przed Państwem zielona płytka i kilka układów scalonych! Wstęp Nadeszła chwila w której, chciałbym zaprezentować mój projekt szerszej grupie elektroników. Od jakiegoś czasu, w przerwach...
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...
Dodałem tak jak wcześniej pisałem [syntax=basic4gl]Prztimer: Incr Licznik If Licznik = 100 Then Licznik = 0 If Licznik < Pwm(1) Then Set PORTD.1 Else Reset PORTD.1 If Licznik < Pwm(2) Then Set PORTD.2 Else Reset PORTD.2 itd.. Return[/syntax] I teraz zamiast się kolejno zapalać to kolejno jest krótkie błyśnięcie Kurcze nikt mi nie podpowie?
Czyli mamy metodę punktów kontrolnych z programowym odliczaniem resetu procesora. Znowu można by się czepiać, że program może się zapętlić na instrukcji zerowania Twojej zmiennej BŁĄD i co wtedy. Tyle, że najpierw by się trzeba zastanowić jakie jest prawdopodobieństwo takiego zdarzenia (myślę, że jest to coś bliskiego zeru absolutnemu).
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! 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 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ą...
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
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....
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...
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...
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)...
reset programowy atmega atmega programowy reset atmega programowy
promiennik olejowy sterowanie napędu gramofonu pioneer instrukcja obsługi
krzywe ściany schemat gniazda radia
Key Automation - Brama otwiera się, ale nie zamyka: diagnostyka i rozwiązania Sarini – jak usunąć blokadę prędkości w pojeździe elektrycznym i zwiększyć szybkość jazdy