Wiesz kol. Fredie nie będę tobie ubliżał przyznając jakieś 5 pkt za pomoc ale bardzo dziekuje za link do tego Ride7. Mnie się to wyjatkowo podoba i autentycznie się na to napaliłem. ........Poza tym nie wiem czy dobrze pojmuję samo środowisko obsługuje C i ASM i jak się ma to do GCC compilera jest już zaszyty w tym środowisku czy mozna go sobie "dołozyć"...
Teraz zastanawiam się czy atmega8 poradzi sobie z 6-oma serwami i ewentualnie jakimiś prostymi czujnikami... Zależy z jaką rozdzielczością sterowania... Trzeba uwzględnić taktowanie.
Czy po tych kilku minutach kiedy już krzaczy i zresetujesz to znów kilka minut działa dobrze? Czy już kiedy są "ciepłe" po restarcie już jest to samo ? Pierwsze by znaczyło jednak problem ze stosem, a drugie, to że podgrzanemu mikrokontrolerowi na wewnętrznym oscylatorze rozjeżdża się taktowanie.
A nie lepiej ten fragment poprawić: Kompilatory pod 8bitowce: * ASEMBLERY : AVR Asembler (składnik AVR Studio), AVRA * C/C++ : WINAVR (środowisko), AVRGCC, IAR C++, CodeVisionAVR * BASIC : BASCOM AVR, FastAVR * PASCAL : Embeeded Pascal AVR, AVRCo
Na obecną chwilę Atmega nie ruszy bez zewnętrznego kwarcu dlatego podłącz kwarc z kondensatorami, jak ruszy to podepnij programator i zmień fuse bity na taktowanie wewnętrzne i wszystko wróci do normy.
Przecież masz włączony dzielnik przez 8 (fusebit LOW.CKDIV8). Czyli twój zegar to 10MHz/8.
Po pierwsze używaj znaczników SYNTAX dla łatwiejszego czytania składni. Druga sprawa, w twoim przykładowym programie źle ustawiony jest parametr F_CPU gdyż twoja atmega nie jest taktowana z 40MHz! Wpisz tam taka wartość w Hz jaka jest taktowana twoja Atmega. Podłączenie... Dioda przewodem do PC5 przy mikrokontrolerze. Przycisk przewodem do PB0 przy...
Czyli nawet programujac przez ICSP i tak nalezy wgrać bootloader z ustawionym zegarem? W programie Arduino zachodzi pewne pomieszanie pojęć, które może wprowadzać w błąd np. przy MiniCore. Polecenie "Wypal Bootloader'a", wbrew nazwie, tak naprawdę wykonuje fundamentalnie ważną funkcję ustawiania fusebitów, czyli ustawia w kostce rodzaj i częstotliwość...
IMHO jeśli się krzaczy to wyraźnie jest problem z rzeczywistym baudrate. ATMega jest taktowana z zewnętrznego kwarcu? Przy synchronicznym USART normalnie ustawia się szybkość, przy czym slave jest taktowany z mastera, więc na slave szybkości ustawiać nie trzeba.
sorry nie rozumiem - o co ci chodzi Dokładnie to na każdej linii wysłania i odbioru najlepiej dać znacznik enter czyli dokładnie to ma wyglać tak print "100" CR tzn - tłumaczysz to sobie czy mi? jest to zdanie oznajmujące czy pytające? ;) może być CR ale równie dobrze może być CRLF problem w tym, że jak robisz w Bascomie polecenie PRINT - to ono zawsze...
Wg ostatniego obrazka wygląda, że Atmega się zaprogramowała. USBasp należy uruchamiać w AS7 tylko i wyłącznie przez Menu ->Tools->"Twoje narzędzie dodane" wg mojego ostatniego posta z odsyłaczem do strony internetowej. Jeszcze uwaga. Atmega taktowana jest wewnętrznym zegarem 1 MHz. W związku z tym, albo zmienisz jej fusy na odpowiednie, albo zmienisz...
Czytałeś kolego przyklejone tematy o fusebitach i taktowaniu ?
Skopiowałem, wyrzuciłem obsługę LCD, skompilowałem, wgrałem i podłączyłem oscyloskop. Impulsy chyba są co 20ms. Ale impuls trwa 4us a nie 1.5ms. Coś jest nie tak w ustawieniach peryferii.
Zainteresuj się bitem CKDIV8 (Divide clock by 8) w Fuse Low Byte. Obecnie Divide clock by 8 jest włączone i ATmega pracuje z taktowaniem 1Mhz. (Datasheet strona 337)
Trochę lektury na przykładzie ATmega: http://www.openmusiclabs.com/learning/di...
Witam! Ten kod powinien działać! Czym taktujesz ATMega?. Ja zawsze tam gdzie jest transmisja na UART daję kwarc. Wewnętrzny oscylator jest mało dokładny i mało stabilny termicznie.
bezpośrednio z usb to raczej nie wypali... może Masz gdzieś wmontowany układ ft232rl - jeden z pinów po konfiguracji w mprog może służyć jako zegar. Chyba że masz RS-a lub LPT... albo jakiś inny działający AVR z zewnętrznym rezonatorem kwarcowym - z XTAL2 możesz "zassać" taktowanie.
Szukałbym problemu w FUSE bits w ATmega. Prawdopodobnie źle jest tam skonfigurowane taktowanie. pozdrawiam
Spróbuj go z zewnętrznego generatora taktować bo może takty gubić mi tak robiła atmega (nie wiem co jej zrobiłem wcześniej coś się samo źle zaprogramowało albo się pomyliłem jak ustawiałem) jako generator użyłem 2 atmegi:]
Ja taktowałem z 16MHz, czyli przebieg na SPI miał 8MHz. I działało.
może być taka kwestia, że ten kwarc w Twojej sytuacji jest niezbędny Nowe MCU fabrycznie mają ustawiony wewnętrzny generator RC, więc kwarcu nie potrzebują. Problemem może być, że częstotliwość jest domyślnie dzielona przez 8 i po prostu programowanie po SPI jest zbyt szybkie. Taktowanie ISP musi być co najmniej 4x wyższe niż częstotliwość taktowania...
W komunikacji UART nie ma czegoś takiego jak łączenie się i rozłączanie. Po prostu zmieniasz UBRR i każdy następny wysłany bajt wysyłany już jest z nową prędkością. Jak taktujesz procesor? Przez kwarc który daje sensowny podział dla otrzymania prędkości 115kbps? Zapewne nie i w tym jest problem. Im większa prędkość transmisji tym mniejsza tolerancja...
Polecam ATmege8A bo ma zakres zasilania jak wersja L (od 2.7 do 5.5V) a zarazem pełny zakres taktowania jak zwykła atmega od 0 do 16MHz. Może też jakiś mosfet np. BUZ10/ZUZ11, może jakiś sterownik do silników DC i krokowych np. L293D lub podobny, może też bufor ULN2803/ULN2003. Dławiki chyba najpopularniejsze przy atmegach 10uH, no i zapas kondensatorów...
a nie zablokowałes zobie na bitach konfiguracyjnych programowania SPI lub przestawiłes go na zewnętrzne taktowanie zegarem ??
Bardzo ciekawa alternatywa;-) Brawo. Jakbyś w przyszłości rozwijał kod to mógłbyś się pokusić o wspieranie dowolnej częstotliwości taktowania procesora.
Nie koniecznie musi być to dokładnie 22pF- może być też np. 15pF (nota podaje przedział 12-22pF -dwa o równej wartości). W przypadku braku kondensatorów nie ma niebezpieczeństwa uszkodzenia mikrokontrolera ani rezonatora- istnieje natomiast ryzyko, że rezonator nie podejmie pracy i mikrokontroler nie wystartuje lub mikrokontroler będzie pracował z niestabilną...
Arduino to co najmniej mikrokontroler ATmega, taktowany 16MHz, jest tam sprzętowy generator PWM, więc dla rozdzielczości 8 bit możliwe jest 62kHz. A czy przeciętny arduinowiec umie tego użyć to jest osobna kwestia. Mimo wszystko przetwarzanie sygnału na Arduino ma niewiele sensu, bo brakuje wydajności nawet na to żeby odczytać ADC, pomnożyć próbkę i...
Do UBRRH i UBRRL nie wpisuje się wartości baud lecz wartość dzielnika która da odpowiedni baud. I tą wartość trzeba policzyć dla określonego taktowania procka.
Witam. nie chcę się za bardzo rozpisywać, bo temat wałkowany już wiele razy.. ale jednak żadne z tych wałkowań mi nie pomogło. Mam Atmege 8535 ustawioną fusami na wewnętrzny oscylator 8MHz (wg. datasheeta - cksel3..0 = 0100 (czyli zaprogramowane na odwrót - sprawa oczywista (1011 - bo taka filozofia atmela)), SUT0=0... i nic z tego. Oscylator dalej...
Ten bit nazywa się CKDIV8 i dzieli zegar przez 8 a nie 16;] Jeżeli procek ma działać z częstotliwością 16MHz powinieneś go wyłączyć.
ATmega taktowana z kwarcu, a nie z wewnętrznego RC, mam nadzieję...
Spowalnia programowanie dla procesorów z taktowaniem mniejszym od 1.5MHz, żeby nie używać zworki wystarczy dodać tę opcję.
(at)And! Trudne pytanie - w takiej implementacji jaką prezentuję w książce powiedział bym, że to więcej niż AVR (ATMega taktowana 20MHz), ale mniej niż STM32F4.
Rejestr danych nadajnika w Atmedze8 nie jest buforowany. Nie możesz wpisywać następnego bajtu nie upewniwszy się, że wysyłanie poprzedniego zakończyło się. Nie jest to prawdą. Posiada on jednopoziomowy bufor - dane z rejestru data są przesyłane do rejestru szeregowego nadajnika, a w trakcie ich nadawania kolejne dane możemy zapisać do rejestru nadajnika....
Jeśli go potrzebujesz, to może zostać. Innymi słowy XTAL taktuje mikrokontroler, TOSC taktuje Timer2.
Wystartował program, wyłączyłem tylko wewnętrzny podział zegara na 8 w fusy uproszczone. Licznik czasu spieszy się 30 sekund na 10 minut to na godzinę 3 minuty czy jest to możliwość zmiany przez taktowanie zegara układu
- AVR Atmega 8 taktowana wewnętrznym kwarcem 8 MHz Atmega nie ma wewnętrznego kwarcu, tylko rezonator RC, będący częścią układu scalonego.
Do mirekk36, Czy atmega sterująca wyświetlaczem jest taktowana zewnętrznym kwarcem ? Pytam o to, ponieważ w moim układzie transmisja działa bez błędów, tylko z PC, a gdy wysyłam coś na terminal, to są błędy ???
Dzień dobry, mam pytanie odnośnie pracy Arduino z taktowaniem 20MHz. Posiadam czysty mikrokontroler ATMEGA328P, chce na niego wypalić bootloader po przez Arduino UNO, po czym wgrać program który wykorzystuje taktowanie 20MHz mikrokontrolera przy zewnętrznym rezonatorze kwarcowym. Moje pytanie, czy Arduino to Arduino którym będę wgrywał bootloader a...
wewnętrzny oscylator rc można ustawić na 1 2 4 lub 8 MHz jak chcesz taktować procesor szybciej musisz podłączyć zewnętrznego kwarca o takiej częstotliwości i ustawić odpowiednio bity cksel..
Te układy są niemal identyczne. Myślę że masz po prostu uszkodzonego procka lub mu zapodałeś złe fusy (zablokowane spi, zablokwany reset lub złe taktowanie). U mnie ATEMGA 8A i ATMEGA 8 są zamiennie używane.
Taktujesz procesor częstotliwościami rzędu kHz? Może zrobiłeś literówkę i chodziło o MHz?
Atmega taktowana 8Mhz wewnętrznym zegarem Jak już to atmega ma wbudowany generator RC 8Mhz, który jest straszliwie niedokładny i dlatego mogą być takie problemy (już nie raz się z tym spotkałem). Zmień na zewnętrzny kwarc 8Mhz i powinno być OK.
Witam, mam problem z znalezieniem pinoutu do Arduino Nano z AtMegą 168P. Wszystko to samo co z AtMega 328p , lecz odpowiednio mniej pamięci... Taktowanie i zasilanie jak każda zwyczana płytka Nano/Uno. Ponieważ jest to clone, to zaczym zaczniesz programowac, będzie wymagane zainstalowac stosowny driver dla konvertera USB > UART (ten podłuzny chip na...
RTS i CTS są tylko wtedy potrzebne gdy sam zechcesz ich używać do sprzętowej kontroli przepływu. (trzeba to w procku całkiem oddzielnie oprogramować). Jeśli nie chcesz to ich nie podłączasz i już. Generalnie większość aplikacji tego typu nie korzysta z takiej opcji, to jest ważne i istotne tylko w pewnych przypadkach. ATmega w ogóle nie musi być taktowana...
Sprawdź jeszcze w fuse-bitach czy masz ustawione taktowanie atmegi na 1MHz.
Fusebity nie ruszane. Atmega taktowana wewnętrznym oscylatorem. I ponoć do tego zastosowania, do którego ja używam zewnętrznego oscylatora, fusebitów ruszać nie trzeba.
Przecież ten uC i z 3V zasilisz (zakładając niższe taktowanie), atmega ciągnie od 2.8. Ta bateria 9V to poroniony pomysł (jak wspomniałem wcześniej, autor ją tam dał bo by mu z 3, a nawet 4paluszków brakło spadku napięcia dla stabilizatora który tam niepotrzebnie wsadził). Mój schemat to 3paluszki (albo nawet 2, dzięki przetwornicy) do zasilania wszystkiego....
Jaka Atmega? Czym ją taktujesz?
Nie możesz używać całego portu B, piny portB.6 i portB.7 przy takim ustawieniu fuse bitów ext osylator sa wyjściami oscylatora kwarcowego i normalne jest że atmega przestaje działać :) , blokujesz przecież taktowanie procesora, gasisz oscylacje kwarcu. Masz dwa wyjścia: 1. przełączyc fuse bity na internal RC oscylator np 8MHz i zmienić definicje $crystal...
Wejściem można tylko taktować PWM. Zamykam.
LF 0xC3 to wewnętrzny oscylator 128kHz. Atmega 328, jak mnie pamięć nie myli, nie ma wewnętrznego taktowania 4MHz, Jest 128kHz i 8MHz (ewentualnie 1MHz po ustawieniu CKDIV8) Jeżeli faktycznie ustawiłeś 0xC3 to spróbuj zewrzeć w programatorze zworę slow sck, procek powinien ruszyć.
Podejrzewam, że u ciebie transmisja nie jest ciągła więc ta optymalizacja nie daje specjalnych efektów. Ciągła nie, ale przychodzą bloki kilkunastu bajtów bez przerw miedzy nimi, a FIFO w AVR ma 2 bajty. Dodano po 2 Oczywiście 921600 nie jest manipulacją. Nawet uwzględniając to, że Atmega taktowana 8MHz nie będzie mogła pracować z takim baudrate. 14,7456MHz,...
L pozwalają na niższe napięcia zasilające. Ale zagadkowe wydaje mi się to 8L-16. Zwykle L mają o polowe mniejszą maksymalna częstotliwość taktowania
Chodziło mi o domyślne ustawienie startup time. A jeśli chodzi o oscylator, to tak wewnętrzny 8MHz z tym, że włączone jest dzielenie przez 8, co w efekcie daje częstotliwość taktowania równą 1MHz.
Procesor to atmega 32L. Taktowanie 8 MHz z wewnętrznego oscylatora. Tak, 0xE40xD9. Ale na schemacie z postu #1 masz coś innego :)
Raczej rezonator, drgania występują w równych odstępach czasu, służy jako taktowanie, co takt wykonywane są jakieś obliczenia, a także można dzięki niemu określić upływ czasu. Atmega ma też wbudowany oscylator, działa, ale jest mniej dokładny.
Ja sie pobawie w wróżke i powiem gdzie moze byc błąd. Bo jest to PODSTAWOWY BŁĄD popełniany przy pisaniu obsługi SPI: >>NIEDOPASOWANIE ZEGARA SPI DO TAKTOWANIA PROCKÓW<< pozdrawiam....
Jeśli test działa to obstawiam komunikację z Dallasem. Podłącz się przejściówką USB<>UART do wyjścia Debug. Tam co sekundę powinien wysyłać temperaturę. Dla Dallasa ważne jest taktowanie uC. Program jest ustawiony na 1MHz czyli tak jak procesor przychodzi z fabryki, ale przestawiając fuse bity mogłeś go ustawić na inną prędkość np. wyłączając...
mikrokontroler to atmega 1280 taktowana 16mhz zasilana 5v zmieniłem zasilanie tranzystora BC556 z 12v na 5v i to działa
Pamięć szeregowa 8x32K . Atmega będzie taktowana zegarem 16MHz , jeśli uda się przetaktować na 22.1184MHz i praca będzie stabilna to tak zostanie.
Kod działa, przetestowałem na xmedze 128a3 i atmedze 32a. Nrfy miały dolutowane na pinach, pomiędzy Vcc i GND po dwa kondensatory, tantal 10u i ceramik 100n. Xmega taktowana zegarem wewnętrznym 2MHz, atmega taktowana kwarcem 16MHz. Używałem starych nawyków z atmeg a nie struktur ze względu na to, żeby nie popełnić trudnych do wykrycia błędów przy portowaniu...
Witajcie! Czy jest możliwe aby taktować Atmegą inną Atmegę? Np używając pwm z prescalerem 1 oraz z rejestrem OCR równym zero. Czy sygnał będzie miał odpowiedni kształt? Pozdrawiam
Config Lcdpin = Pin , Db4 = Portd.3 , Db5 = Portd.4 , Db6 = Portd.5 , Db7 = Portd.6 , E = Portd.1 , Rs = Portd.0 Fusebity sa ustawione dobrze i atmega taktuje z zewnętrznym 8 MHz. Możesz mi to skompilować i zapodac hex albo bin?
Koledzy, procesor to Atmega 16 taktowana zegarem 16MHz i nie mogę jej zamienić na coś innego. Nie włączam się do dyskusji, bo to nie mój poziom, ale czytam wszystkie posty.
Podaj tylko wartość którą pokazuje program w okienku obok napisu fusebit ;) jeśli masz tam np. 99D1 to ostatnią cyfrę zmień na 4 (99D4) i rozpędzisz układ do 8MHz
Ale czegość tu jeszcze nie rozumiem przecież mam kwarc 8MHz i stosuje delay_us(value);a value to czas nagłówka i bitów w mikrosekunndach czy czas nie powinien się wydłużyć ośmiokrotnie?????? Zastanów się jeszcze raz nad tym co napisałeś vs nazwa funkcji: delay_ us Innymi słowy, czy ta funkcja jest funkcją liczoną w taktach mikrokontrolera, czy w mikrosekundach?...
Po pierwsze czy zasila kolega procesor i moduł napięciem 3,3V ? Jeśli tak - to jakie jest taktowanie procesora i z jakiego źródła ? Program na pewno działa i był testowany na: [url=http://sklep.atnel.pl/pl/i/Zestaw-A... oraz na: [url=http://sklep.atnel.pl/pl/p/ATB-ETHE... Nie wspomnę już o tym, że na płycie DVD dołączonej do książki...
W datasheet do procesora jest taka tabelka, w której znajdziesz błąd taktowania UART w zależności od częstotliwości procesora. W Twojej konfiguracji FCPU=1MHz, BR=9600, U2X=0 błąd jest zbyt duży.
Na ATmega masz ustawioną szybkość transmisji ok. 20.8 kbit/s, a oscylator wewnętrzny jest niedokładny. Zmień taktowanie procesora na 8MHz i zmień błędny wzór na wyliczenie dzielnika, to szanse sukcesu nieco wzrosną.
myślę że atmega poniekąd taktowana jest sygnałem z sieci 100hz. Drobne sprostowanie w sieci jest 50hz .
ATMega jest taktowana kwarcem, czy z wewnętrznego generatora RC? Jeśli z wewnętrznego to zapomnij o transmisji po RS, znaczy czasami działa, ale stabilność tego generatora jest poza wymaganą dla specyfikacji RS232 asynchronicznego.
OK, na razie nie mam pomysłu jak regulować stopień wyjściowy. Mam tylko jeszcze jedno pytanie, Z wyjścia SYNC muszę doprowadzić sygnał do mikrokontrolera. Docelowo jest to Atmega 128 taktowana zegarem 16MHz, Nota katalogowa mówi, że ten mikrokontroler może zmierzyć częstotliwość sygnału o 2 razy mniejszy od sygnału taktującego czyli w tym przypadku...
Witam, mam w ukladzie ATmega8 + MAX232 do komunikacji z komputerem. ATmega jest taktowana z zewnetrznego kwarcu 16MHz. Wydaje sie, ze fuse bity sa dobrze ustawione, bo do obliczenia parametru predkosci USART (wpisywanego w UBRR) musze wykorzystywac wlasnie 16000000. Mam jednak problem z timerami. Zarowno _delay_ms(), jak i _delay_loop_2() dzialaja tak,...
Kolego dondu. Ja pisałem o zmianie częstotliwości taktowania z zewnątrz. Pierwszy raz spotkałbym się z takim rozwiązaniem, że ktoś zmienia rezonatory kwarcowe "w locie" (lub źródło zegara). Napisałem, że są na to metody czysto programowe, nie sprzętowe. Jeżeli kolega uważa inaczej to może przy okazji robiąc niewielki OT wspomiałby w jakim celu trzebaby...
Panowie spokojnie. Na razie chcę znać odcinek czasu po między impulsami (czujnik taki jak przy liczniku rowerowym) i jak ten czas zapisać do zmiennej (dajmy na to np. "czas"). Resztę obliczeń, to wiadomo, że jest potrzebny obwód koła. Mikrokontroler jaki mam to ATMEGA 128 taktowana zegarem 16MHz
Przejrzyj dokumentację procka i archiwum - na wewnętrznym generatorze w przypadku ATMega RS232 niekoniecznie będzie działał poprawnie. Powodem jest zbyt niska dokładność tego oscylatora. Jeśli masz FT232 to ma on możliwość wyprowadzenia zegara, z którego możesz taktować MCU. Pokazany objaw świadczy o tym, że baudrate interfejsu jest nieco inny niż spodziewany.
Testowałem 2 algorytmy: 1. Jeśli napięcie jest powyżej 200V włączony, poniżej wyłączony, atmega taktowana na 1Mhz, zmiana stanu po każdym odczycie z przetwornika. (Nie działał, więc testowałem też drugi) 2. 10ms wyłaczony 1ms włączony. Czyli 100-1000Hz (działał) Trudno mi teraz powiedzieć który program zabił mosfeta.
Chodzi o to że ATMEGA musi być taktowana przebiegiem 4 razy szybszym niż przebieg zegarowy z programatora. Inaczej nie odbierze dobrze sygnałów z programatora.
Atmega ma taktowanie 8MHz a prędkość baud rate 9600. Cały czas pokazuje mi 100. Jak nie właczę przerwań to chodzi dobrze. A jak je właczę dla ADC np. to zaraz tylko wywala to samo 100.
To może zacznijmy od początku: -jakie doświadczenie ma kolega jeśli chodzi o uC -Atmega nowa, a co z FUSE-BIT'ami - przestawione? -nie znam ATMEL STUDIO - czy pliki dot. HD... są prawidłowo dołączone? -co z tym nieszczęsnym taktowaniem - "już ogarnąłem" nie jest tożsame z "prawidłowo zapisałem" Pozdr.
Jak masz HC595 w obudowie DIL to wstaw go w podstawkę i na czas programowania wyjmij poza tym możesz zwiększyć wartości rezystorów podciągających do 10k lub więcej . W sumie układy wejściowe HC595 nie mają na tyle małej rezystancji by obciążyć na tyle spi by nie dało się zaprogramować megi stawiał bym raczej na problem z wyprowadzeniem reset , nieprawidłową...
Witaj, mam pytanie. Czy Atmega musi być taktowana z zewnętrznego zegara? Czy zegarem mógłby chodzić poprawnie fdyby procesor taktować z zegara wewnętrznego? Pozdrawiam! PS> Też buduję zegar ale na IW18 i ATmega8 :)
(...)chodziło mi o to, że po co stosować w takiej sytuacji zewnętrzny układ RTC i budzić mikrokontroler przerwaniem jak może on sam się budzić od wewnętrznego przerwania timer'a i obsługiwać (...) Zgodzę się, ale gdy mikrokontroler ma dedykowany do tego celu timer (np timer 2 w atmega) taktowany kwarcem "zegarkowym", a attiny takiego timera nie ma.
(at)rosak Nie wiem po co chcesz kupować jakiś analizator logiczny, jeśli masz porządny oscyloskop z dużym buforem. Chcesz rozgryźć ten protokół, czy tylko odtworzyć dane sekwencje? Jeśli tylko odtworzyć to wszystko masz już na tacy. Nagraj jakąś sekwencję oscyloskopem i spróbuj ją, odczytaną "recznie", odtworzyć przez interfejs SPI na mikrokontrolerze....
Jeśli takie same są: kod, putty, atmega i wszelka dookólna jej elektronika, to trzeba patrzeć co tam między tymi 2ma środowiskami może się różnic... Tak mi przychodzi na myśl, skoro krzaki to możliwe że nie zgadza się baudrate. To znaczy fizycznie atmega taktowana jest z tych 8MHz natomiast podczas kompilacji w AVR Studio z jakiegokolwiek powodu F_CPU...
Rozumiem, że nie masz tego kitu jako gotowca, bo inaczej nie powstałby problem konwertera. Jak pisałem - najprościej po prostu zasilić ATMegę z 3,3V i po problemie. W zegarku, ew. konieczność ograniczenia taktowania jest bez znaczenia i praktycznie bez zmian w kodzie to zadziała. Tu, ponieważ ATMega jest taktowana z wew. generatora RC 8 MHz, nie ma...
Proszę bardzo tylko jedna sprawa nie mam zbytnio czasu szukać co to za wyświetlacz (wspólna anoda czy katoda) dlatego powinno działać w obydwu przypadkach czyli wyświetlacz będzie migał co około 600ms (taktowanie jest na 1MHz). Hex spakowany WinRAR-em. Pisz czy działa późnym wieczorem będę dostępny.
Podepnij kwarc i na nim sprawdź. Generalnie ATMega nie powinna byc taktowana z RC jeśli myślisz o USART.
Taktowanie zawsze może mieć wpływ, poza tym Atmega nie ma wgranego żadnego innego softu, poza docelowym plikiem .hex
Przykładowo ATMEGA taktowana 16Mhz musiała by odczytać z pamięci i wysłać do wyświetlacza 1 bajt na 10 taktów zegara (samych danych nie licząc instrukcji sterujących). Jakby było mniej niż 24 bit RGB i 24 klatki/s to może dało by radę. Prawdopodobnie twój wyświetlacz nie ma 24bitowego koloru, nie podałeś żadnych danych, to tyle założyłem do wstępnych...
Po pierwsze musisz zwiększyć taktowanie procesora. Wg mnie min 8 MHz.
snow - jak mogę nie trafiać z częstotliwością skoro : 1. do generowania przebiegu wykorzystuję Timer0 2. Atmega taktowana jest 8MHz 3. stosuję podział przez 100 czyli timer0 tyka 80kH i w procedurze obsługi timer0 zmieniam wciąż na przeciwne stany nadajnika - dzięki czemu wychodzi mi piękna równa częstotliwość 40kHz - to akurat mam sprawdzone na 1000000%...
Atmega taktowana jest zegarem 8MHz, powstawiałem opóźnienia i teraz wynik jest za każdym razem równy 0, próbowałem różnych opóźnień (od 1us do 20us) w różncyh miejscach i dalej to samo, jedynie przerwanie IRQ jest za każdym razem prawidłowo generowane (przy dotknięciu ekranu). EDIT: Działa ;) Problem był z definicją wejścia, bez względy na to czy MISO...
Wszystko pięknie, ale jaką częstotliwością jest taktowany mikroprocesor i jaką prędkość transmisji stosujesz?
Mało ciekawe, sztuką było by zrobić ten zegarek bez PCFa! Jeśli Atmega jest taktowana zewnętrznym kwarcem to napisanie programowego RTC nie powinno stanowić problemu Nie stanowi, bo na stronie Atmela jest przykładowy program. Co sekunde wybudza się, "posówa" zegare i idzie spać.
Witam ponownie. Rzeczywiście mój błąd - wewnętrzny rezonator to max 8Mhz. Fuse Bity (z programu mkAVR Calculator: LOW: 0xE4 HIGH: 0xC0 Źródło taktowania: -Wewnętrzny oscylator 8Mhz. zmieniłem w kodzie programu #define F_CPU na 8000000 oraz w Makefile F_CPU = 8000000 Teraz wydaje się działać dobrze: 8. dioda zapala się po 125 sekundach co w przybliżeniu...
Witam, w fazie uruchamiania układu, (ładowarki) napotkałem na kolejny problem. ATmega taktowana 14MHz, więc już wyciśnięte wszystko co się da. Sprzętowy pwm, pracuje max z "f", ok 39Khz. No i tu pojawia mi się problem. Aby przetwornica miała większą sprawność, potrzebny byłby potwornie duży dławik, który na pewno nie zmieści się na pcb . Pytanie takie,...
Atmega jest taktowana zewnętrznym kwarcem 16mHz. Dzieląc 16Mhz przez 32kHz wychodzi mi około 488 cylki. Poza tym nie ma znaczenia czy kod w przerwaniu zajmuje 3 linijki czy 100. Przerwanie wykonuje się dokładnie tyle razy. Zegar na tym zrobiony ma błąd mniejszy niż 1 sec na dobę więc nie ma mowy, że uC nie wyrabia.
w czym ta slabosc?? taktowanie? pamiec? i czemu PWM a nie DAC ?
atmega taktować atmega ustawić taktować zmiana taktować
netia net24 hasło fronius licznik energii pilot pulsar
mercedes przekaźnik świateł marantz sr6005
Karcher K5 - wyciek wody po podłączeniu węża zasilającego Wybór układu scalonego do generowania sygnału PWM