Problem w tym, że nie mam zielonego pojęcia co to fusebity Czyli de facto Twój problem polega na tym, że potrzebujesz mobilizacji do przeczytania noty katalogowej (Sekcja "Memory Programming" i "System Clock and Clock Options")... ;) http://www.atmel.com/devices/ATMEGA8535.... Fusebity avrdude ustawi również, wystarczy poczytać manuala.
Spróbuj zamienić Twój plik Makefile (we folderze z projektem) i skompiluj ponownie. EDIT: Jeśli pracujesz pod Windows, to pewnie wygodniej byłoby Ci używać AVR Studio. Tam plik 'Makefile' jest tworzony automatycznie, a pewne zmienne projektu (typ procesora, częstotliwość taktowania itp.) zmienia się za pomocą interfejsu graficznego.
Co prawda to co proponuję jest w asm i jest autoreklamą, ale napisane w miarę czytelnie, może załapiesz o co chodzi : http://www.elektroda.pl/rtvforum/topic18... Powoli się zastanawiam na dopisaniem analoga w C, ale to raczej nie jutro... Tak przy okazji:[syntax=c]#define timing_hz 1000000 //Taktowanie uC[/syntax]To jest zbędne, używaj F_CPU...
No przecież już w kilku poprzednich postach nie tylko ja wałkujemy ci, żebyś dał sobie spokój z makefile na tym etapie. W ogóle nie musisz go ruszać czy cokolwiek z nim robić.... a ty wciąż swoje i swoje ;) Jeszcze raz..... odpuść sobie na razie myślenie o makefile - tylko napisz program w AVRStudio w C i skompiluj - to wsio ! Tylko w propertiesach...
Niestety zmiana nazwy przerwania nic nie daje :cry:.Dzięki za rady te lepsze i te gorsze :P.Ale nadal czekam, aż ktoś pomoże to rozgryźć.Dodam jeszcze że w fusebitach nic nie grzebałem - są fabryczne. P.S.:Jedyne co zmieniałem to linijkę w pliku Makefile: F_CPU = 1200000 (Fabryczna częstotliwość taktowania procka to 9,6MHz/8 (fusebit CKDIV)), a makefile...
Razem z winavr instaluje się programik mfile odpal go (powinien byc w menu start>>programy>>winavr...) i w menu makefile wybierasz swój mikrokontroler (MCU type), nazwę pliku z twoim kodem bez rozszerzenia np. dla blabla.c wpisujesz blabla (main file name). Ewentualnie wybierasz jeszcze opcję enable editing of makefile i wpisujesz inną częstotliwość...
Tak, w pliku Makefile ustawiam częstotliwość, dodam że używam środowiska WinAVR i optymalizacja kodu ustawiona jest na Os.
... Może użyć innego kwarcu, bez kwarcu też nie chodzi ... Sam niewiem Z analizy kodu jasno wynika , że program napisany jest dla 8515-ki z kwarcem 8MHz i jeśli Twój procek jest taktowany inną częstotliwością , to należy dostosować kod do takiej częstotliwości.A jak się przedstawia taktowanie Twojego proca :?:.Czy zmieniłes parametry w makefile dla...
Piszę w WinAVR, ale to chyba nie ma większego znaczenia. Częstotliwość taktowania jest ustawiona w pliku Makefile, w funkcji main nic więcej nie mam. Ten zasilacz- to niepokojące. Sprawdź go może na "pusto"- z jakimiś opornikami tylko podłączonymi. Nie wiem czy dobrze zrozumiałem. Mam sprawdzić napięcie na stabilizatorze? Jak mierzę miernikiem bez żadnego...
To jednak zacznij od Fusebitów to dobra porada. Z poziomu programu czy makefile nigdzie się nie określa skąd pochodzi taktowanie procesora. To właśnie zależy tylko od fusebitów. A w makefile definiuje się co najwyżej wartość częstotliwości jaką jest taktowany procek. Ale to ty jako programista musisz wiedzieć jak on jest fizycznie przez ciebie albo...
Wszelkie znaki na niebie i na ziemi wskazuję, że masz "przekłamaną" częstotliwość taktowania rdzenia :D Mikrokontroler podpięty jest pod zewnętrzny kwarc 12MHz a jest częstotliwość mam wprowadzoną w pliku makefile w F_CPU 12000000UL. To że masz podpięty kwarc pod mikrokontroler( a nie odwrotnie :D ), nie jest równoznaczne z tym, że mikrokontroler z...
Myślę że powinieneś zapoznać się z tym. Ja mam i bardzo sobie chwalę: http://www.elektroda.pl/rtvforum/topic13... Bardzo miło studiowało się te 13 stron. Bardzo pomocne. Nie wiem dlaczego wcześniej tego tematu nie zauważyłem - karygodny błąd z mojej strony. edit. oczywiście zmiana kwarca wg. w/w programu zakończyła się powodzeniem. Jest...
Oczywiście zdefiniowałem częstotliwość CPU (zapomniałem dopisać to w kodzie bo mam programy przygotowane w pliku txt i w zależności od procesora i środowiska programowania dodaje lub nie częstotliwość taktowania). Zdefiniowałem ją na samym początku przed #include. To pierwsza rzecz jaką zrób to wywal definicję F_CPU z kodu i umieść ją tam gdzie być...
P.S. No i powinieneś przed #include <util/delay.h> zdefiniować częstotliwość taktowania procesora, czyli F_CPU, bo opóźnienia mogą być nieprawidłowe. Takie rzeczy to tylko w Makefile się robi, podobnie jak deklaracja procesora... Na pewno masz rację, tylko że wcześniej: Ale w AVR Studio nie tworzy sie pliku makefile. W AVR Studio należałoby w...
Witam Mam taki dziwny problem. Skusiła mnie biblioteka Rafała Krzysztofa i chcąc sprawdzić jej działanie skompilowałem program lcdtest.c. W oryginalnym pliku makefile programu do obsługi LCD zmieniłem tylko częstotliwość taktowania: z 16 na 8MHz. Po wgraniu do uC (Atmega16L) LCD inicjalizuje się poprawnie i raz na ok 15-20sec wykonuje komendę "kursor...
Kompilator zgłasza mi warning : "F_CPU" redefined I teraz moje pytanie: Czy funkcja #ifndef zapobiega zmianie F_CPU z 8 MHZ na 10 MHz czy też kompilator mnie ostrzega że biblioteka jednak ją zmieniła. I bardzo dobrze że zgłasza warningi, bowiem Eclipse to normalne środowisko i pod tym względem (ale nie tylko pod tym) o wiele lepsze niż AVR Studio 5/6....
Proszę o pomoc lub jednoznaczne stwierdzenie „da się” / „nie da się”. Ależ "da się", "da się" ;) Ja osobiście bardzo często korzystam z bootloadera w tym także gdy procek "jedzie" na wewn. oscylatorze. Z tym, że ja zwykle korzystam minimalnie w takich przypadkach z oscylatora 8MHz. Nie powinno być jednak żadnych problemów i...
I usuń definicję F_CPU z kodu, po przejściu na Atmel Studio znajdziesz na nią miejsce w ustawieniach projektu. Po przejściu projekt powinien się skompilować, ale z góry uprzedzam, że takie zastosowanie _delay_ms() nie zadziała, jak byś się tego spodziewał, tam musi być wartość znana na etapie kompilacji. Wywaliłem, niestety nie kompiluje się . Atmel...
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! Mam pewien problem, otóż napisałem funkcję obsługi przerwania od licznika T0 w atmega16 która wygląda następująco: SIGNAL (SIG_OVERFLOW0) { if(licznik==128) { s++; if(s==60) { s=0; m++; } if(m==60) { m=0; h++; } if(h==24) { h=0; } licznik=0; } licznik++; }...
Rozumię, żę piszesz program w WinAvr. WinAvr za pomocą make kompiluje program i tworzy plik wynikowy *.hex ,który następnie musisz załadować do np. PonyProga za pomocą którego zaprogramujesz procek. Do projektu dodaj plik Makefile skopiuj go najlepiej do katalogu w którym masz zapisany twój program. W makefile musisz wprowadzić zmiany, poszukaj na necie...
Czy mogę prosić o jakieś rozjaśnienie? Tak naprawdę step by step? Pozdrowienia dla Śląska z Gdańska:) 3 KWM;) Jak masz już zainstalowane te wszystkie pakiety i wybrany IDE (np wspomniany Geany, też jest w repozytorium), to potrzebujesz makefile w katalogu z projektem, w nim podstawowa rzecz to wskazanie plików źródłowych, częstotliwości oraz typu programatora...
Z tego co podesłałeś to widzę, że avrdude wywoływany jest w makefile więc tam. Ale możesz najpierw spróbować samo avrdude odpalić w taki sposób: avrdude.exe -p attiny2313 -P com1 -c stk500v2 -U flash:w:ledport.hex Z avrdude jest dużo niewiadomych. Nie wiadomo jakiej wersji używasz, jake są pliki konfiguracyjne itp. Lepiej spróbuj czy działa...
Drobna uwaga do schematu, napięcie zasilania jest określone w przedziale 5,5-12V, regulator 7805 nie będzie działał w okolicach dolnej granicy. Należałoby zwiększyć minimalne napięcie zasilania lub zastosować lepszej klasy stabilizator, typu LDO. Nie, nie można przestawić przerwań na inne pin-y, a co za tym idzie bez sensowne jest konfigurowanie przerwań...
Dziękuję (at)gaskoin . Udało mi się skompilować kod. Jednak wystąpił kolejny problem, którego się całkowicie nie spodziewałem. W atmedze8 przy pomocy AVR Burn-o-mat'u, mogłem w ostatniej zakładce fusebitów (oscillator/clockoptions) bez problemu wybrać częstotliwość od 1 do 8MHz. W attiny13 w tej zakładce wyświetla się jedynie "not supported for selected...
Witam. Zapewne temat odmierzania czasu był poruszany wielokrotnie na forum. Problem mój jest nastepujący: Napisałem swego czasu dwie funkcje realizujące opóźnienie : delayms - opóźnienie time milisekund delaus - opóźnienie time mikrosekund void delayms (int time) //funkcja dajaca opoznienie w ms { int i,k; for (k=0;k<time;k++)...
Spróbuj jeszcze raz sprawdzić, czy CI kompilator nie zmienił jakichś ustawień programatora/kompilatora... I powiedz, czy wgrywasz stary hex, czy zrekompilowany w zasadzie kompilacja przebiega w taki sposób że wywołuję polecenie make z opcjami clean, all, program w zależności od potrzeb więc całe ustawienia sprowadzają się do pliku makefile. Plik makefile...
Kolego, zanim cokolwiek napiszesz zastanów się trzy razy : Nie mam warninga, ponieważ moje środowisko to eclipse z wtyczką avrdude. Warningi są niezależne od środowiska. Możesz je co najwyżej wyłączyć, ze szkodą dla siebie: http://mikrokontrolery.blogspot.com/2011... definicja F_CPU w moim przypadku jest nawet zbędna....
1. F_CPU zadeklarowałem na samej górze programu o to mi chodziło :D Problem leży w tym, że dostajesz podpowiedź i nie korzystasz z niej. Przeczytaj jeszcze raz punkt nr 1 z mojego pierwszego postu - zmień środowisko. 4.... Ale będę pamietał o tym na przyszłość, że dla innych może być to powodem niechęci do analizy kodu:) Uparty jesteś i nie trafia...
Jakieś pomysły? Jeden prosty i w 100% sprawdzony pomysł: Daj sobie spokój z AVR Studio 5 lub 6 a zamiast tego użyj albo: 1. AVR Studio 4.xx 2. najlepiej ECLIPSE 3. CodeBlocks i ustawiaj częstotliwość taktowania we właściwościach projektu w każdym z tych normalnych środowisk. A okaże się że twój problem i dziwne warningi związane z twoim F_CPU (definiowanym...
ADI-mistrzu --> dlaczego nie dość, że sam popełniasz błąd wpisując w kodzie programu: #define F_CPU 1000000UL to jeszcze polecasz go innym początkującym? Jakiś czas temu udało się większości ludzi na elektrodzie wytłumaczyć, że to dosyć poważny błąd, który w ciut większych projektach przez nieuwagę przynosić może sporo zamieszania, jednak ostatnio znowu...
W Eclipse za pomocą pluginu CDT tak samo się robi, czy to znaczy że Eclipse też jest koci ? Jak chcesz być dokładny to powiedz czy napisz tak: W Eclipse za pomocą pluginu CDT tak samo MOŻNA robić ale uwaga jest różnica panie kochany. Z uwagi na to , że w propertiesach projektu masz już normalnie i po ludzku jak się należy to już ustawione: http://obrazki.elektroda.pl/7022616900_1...
#define F_CPU na sam początek kodu, przed include'ami, a najlepiej to w makefile umieścić jako jedną z opcji, tak żeby została przekazana do kompilatora jako np. "-DF_CPU=16000000UL" Przyjrzyj się temu: static __inline__ void _delay_ms(double __ms) { uint16_t __ticks; double __tmp = ((F_CPU) / 4e3) * __ms; if (__tmp...
Jak by przyszło zmienić taktowanie procka to zaglądać do wszystkich plików *.c? Pewnie - bo w AVRS5 jak widzisz nie ma takiego miejsca jak w AVRS4 czy w Eclipse czy w CodeBlocks na podanie częstotliwości taktowania w opcjach projektu. Dlatego dzięsiątki początkujących walczy z tym #define itp .... i właśnie co jest później problemem ? ..... to zaglądanie...
jako typ projektu (projekt C) musisz wybrać "AVR Cross Target Application" i wybrać domyślny toolchain. Zakładam że wtyczke avr (jak i avrdude - gdy chcesz wgrywać wsad bezpośrednio z eclipsa) poprawnie zainstalowałeś skonfigurowałeś, jak stworzysz projekt to musisz go odpowiednio ustawić, mniejwięcej opisze jak ja to robie: project->stettings i...
Witam wszystkich forumowiczy zainteresowanych tematem 8-bitowych mikrokontrolerów AVR w moim poradniku!! Na wstępie parę słów na temat przyczyny oraz celu, jaki skłoniła mnie do napisania poradnika. (Niezainteresowanych proszę o przejście od razu do sekcji "Zaczynajmy" .) Przyczyna jest dość prosta, zwyczajnie miałem potrzebę zaimportowania swoich...
Czym i jaka wersją kompilowałeś, bo mi w WinAVR wyskakują same błędy!! :-( Najnowszą wersją WinAVR. W załączniku jeszcze raz to samo, ale kompletny projekt z Programmers Notepad. Przed chwilą sprawdziłem i kompiluje się tak jak powinno ('Make All' z menu Tools). Te procedury FFT mogą stwarzać problemy przy kompilacji, jak próbowałem ich pierwszy raz...
Jestem początkującym w C. Napisałem sobie kilka funkcji sterujących wyświetlaczem LCD (1x16). Przy taktowaniu 1Mhz wszystko pracuje znakomicie. Przy innych częstotliwościach mikroprocesora (2, 4 i 8Mhz) wyświetlacz nie pracuje poprawnie, wyświetla niepełne napisy lub przypadkowe znaki. Mikrokontroler jest taktowany wewnętrznym generatorem RC. Oczywiście...
http://obrazki.elektroda.pl/7326333400_1... Autor zajął się tym projektem przy okazji zabawy komputerem Apple II. Celem tego odtwarzacza jest osiągnięcie takich samych efektów dźwiękowych jakie osiąga się w Apple II. W tym celu wykorzystany został oryginalny układ scalony z serii AY-3-8910/1/2. Układ ten może generować trzy kanały przebiegów...
Program dla atmegi 16 jest ten sam co dla 8 tylko zmieniłem ustawienia w pliku makefile. Myślę ze nawet pomimo braku kondensatorów filtrujących na wyświetlacz powinien zadziałać... Na atmedze 8 sprawa wyglądała tak samo, tyle ze tutaj podłączyłem układ do 16 która nie była używana aby mieć pewność ze jest 100% sprawna. program który wgrałem. /* ****************************************...
Żeby pisać na mikrokontrolery w C++ trzeba znać ten język bardzo dobrze. Niestety mikrokontroler to nie PC i nie "wybacza" nieprzemyślanych konstrukcji, które kończą się alokacją ogromnych ilości pamięci. Tak konkretniej to chodzi mi o nieprzemyślane używanie klas. C na mikrokontrolery jest znacznie łatwiejszy. A mógłby ktoś napisać w C++ i w C program...
Witam, napisałem program w C na mikroprocesor, który odczytuje temperaturę z czujnika DS18b20. Wszystko działa dobrze, gdy korzystam z wewnętrznego taktowania ATmegi. Problem zaczyna się, gdy podłączam zewnętrzny kwarc o częstotliwości taktowania 1.47456MHz. W makefileu zmieniam oczywiście częstotliwość taktowania na prawidłową oraz w programie. Do...
zmieniłem kod w następujący sposób #define F_CPU 1000000UL // 1 MHz // prędkość transmisji 9600 #define UART_BAUD_RATE 9600 #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include <util/delay.h> #include "uart.h" // częstotliwość CPU w...
Witam, Posiadam mikrokontroler LPC2364, w którym nie potrafię uruchomić pętli PLL. Środowisko programistyczne to Eclipse skonfigurowane według tutoriala Freddiego Chopina. Do uruchomienia LPC2364 posłużyłem się projektem przykładowym naipisanym dla LPC2103 i znajdującym się również na stronie Freddiego Chopina. Zmieniony został plik linkera: /***************************************...
Witam wszystkich ! Jakiś czas temu zrobiłem kumplowi na zaliczenie stroboskop na led'ach i zauważyłem, że jest kilka osób zainteresowanych tym małym ale jakże cieszącym urządzeniem więc postanowiłem wam udostępnić. Niestety nie będę się rozpisywał jak co i gdzie bo to prosty układzik w razie jakichkolwiek pytań z chęcią odpowiem. Przepraszam za brak...
taktować częstotliwość sieć połowa częstotliwość taktować winavr makefile makefile
zapowietrzona instalacja gazowa creative inspire p5800 subwoofer pilot toyota baterie
Jak wyjąć stacyjkę z Skoda Octavia 2 1.6 MPI 2004 bez rozkodowywania immobilizera Lokalizacja przycisku reset na tablecie Kruger&Matz Edge 1082