Od dłuższego czasu próbuję uruchomić debugger z winavr w eclipse. Korzystam z instrukcji na stronie: "memory.c:224: WARNING: **** Attempt to read invalid io reg: ACSR at 0x0028" i debugger nie działa poprawnie. Log z konsoli avr-gdb: "No symbol "new" in current context. target remote localhost:4242 0x00000000 in __vectors ()...
Ja mam obecnie taki makefile (bazowany na przykładowym z WinAVR): WINAVRDIR = ../../WinAVR export GCC_EXEC_PREFIX = $(WINAVRDIR)/libexec/gcc/avr export LIBRARY_PATH = $(WINAVRDIR)/lib/gcc/avr/3.4.3 LIB2 = $(WINAVRDIR)/avr/lib LIB1 = $(WINAVRDIR)/lib/gcc/avr/3.4.3 INC1 = $(WINAVRDIR)/avr/include INC2 = $(WINAVRDIR)/lib/gcc/avr/3.4.3/i...
Mam bardzo prosty dla niektórych z was problem. Do WinAvr wpisałem program znajdujący się na stronie: Mój program /////// #include <avr/io.h> int main (void) { sbi(DDRB,PB1); sbi(PORTB,PB1); for (;;) { } return (0); } /////// Robiłem wszystko dokładnie tak jak jest tam napisane. Problem nastąpił gdy miałem skompilować. Kompilacja się nie udała...
Witam, posiadam moduł ethernetowy MMnet03 i chciałabym pisać na niego programy za pomocą Nut 0S. Robiłam wszystko zgodnie z filmikami na NutWiki oraz z artykułem z EP "Ethernet i AVR-y". Wersja Nut OS , ze strony ethernut.de ethernut-4.8.9.exe WinAVR : WinAVR-20081205 I program 'Hello world" nie działa, nic się nie wyświetla w terminalu, nawet krzaki,...
Mam dziwny problem ze skompilowaniem prostego programu co jest spowodowane prawdopodobnie złym plikiem Makefile( kto ten absurdalny plik wymyslił?). Jednego dnia się kompiluje po odnowieniu za pomocą Mfile z Winavr już nie. Projekt zawiera tylko jeden plik a.c. Kod programu: #include <avr/io.h> #include <avr/interrupt.h> int main (void)...
Witam, Przestal mi dzialac kompilator. Nie chce kompilowac zadnych projektow, ktore wczesniej dzialaly. Dodam, ze od czasu jak jeszcze dzialal WinAvr zainstalowalem dev-c++ , ale pomimo, ze go odinstalowalem, WinAvr nadal nie dziala. Zmiennych srodowiskowych tez nie ma jakis podejrzanych. Podaje log z kompilacji: > "C:\WinAVR-20070525\make.bat&qu...
Witam Na początek programu wpisz: #include <avr/wdt.h> // modul -> Watchdog (C:\WinAVR-xxxxxxxx\avr\include\... Zakładam, że używasz kompilatora WinAVR. A w module Watchdog masz: //--------------------------------------... /* Watchdog #define wdt_reset() __asm__ __volatile__ ('wdr') #define wdt_disable() #define...
Witam Kiedy próbuję użyć pliku stdlib.h dodając go do includ-ów AVR Studio się wiesza (żadnych komunikatów o błędach itd). Kiedy zapiszę projekt z plikiem który zawiera #include <stdlib.h> to nie mogę otworzyć później tego projektu. Mieliście taki problem? Pozdrawiam Kamil Dodano po 1 Zainstalowałem AVR Studio 4.13 i pomogło. AVR Studio 4.13 WYMIATA...
Witam. Jako że zaczynam swoją przygodę z AVR, to już natknąłem się na problemy. Ściągnąłem pakiet WinAvr. Programator zrobiłem najprostszy i tu zaczynają się schody... Schemat tego programatora jest tutaj: Wchodząc do Mfile, ustawiam wszystko, lecz nie wiem jakiego programatora użyć .. zaznaczam stk200, ponieważ najbliżej mu do niego.. Póżniej wchodzę...
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ść...
Witam, Przepisuję właśnie swój projekt z Bascom'a na C, a właściwie jestem na etapie rozbudowywania programu i mam ostatnio problem ze skompilowaniem kodu. Cały układ to ATMega32 + ADC ADS1100 + LCD NOKIA3310 + MMC Card (na razie tyle ;-)). Jeszcze kilka dni temu program kompilował się prawidłowo (z kilkoma warnning'ami), więc postanowiłem wgrać hex'a...
Witam, Przejdę od razu do rzeczy. Mam problem ze skompilowaniem poniższego kodu w WinAVR. Całość jest w C, jedynie jeden plik, zważywszy na zależności czasowe, pisany jest w asemblerze. Oto problematyczny kawałek: SPI_SEND: ;<-- sbi SPCR,SPE ;enable SPI out SPDR,r24 ;load byte in SPI data register SPI_SEND_0: sbis SPSR,SPIF ;<-- rjmp SPI_SEND_0...
KrisH jesteś wielki w UART, w AVR'ach oczywiście zadziałało - ale, żeby nie przyjąć F_CPU na 'pałę' i nie popełniać dalszych błędów mam pytania 1. jeśli w projekcie jest użyte _delay_xx(), nie skompiluje dobrze a sądzę, że w TYM projekcie może być delay zamiast NOP (projekt jest dla 8MHz) 2. dla 16MHz też jest warning 3. w żaden sposób nie umiem przeliczyć...
Chce skompilowac programik WINAVR-em, a nie moge bo wyskakuje mi wdciąz błąd, tak jakby nie widział rozkazu sdi w bibliotece io.h o to ten program: #include <avr/io.h> int main(void) { sbi (PORTB,1); while(1) { } } A w wyniku kompilacji bład powstaje taki: > "make" avr-gcc -g -Wall -O2 -mmcu=atmega8 -c -o led.o led.c led.c: In function `main':...
No i zaczely sie schody w Projekt Options ->General ->Device mam zaznaczony procek: AT90s.... i to mi dziala!!! Kompiluje i chodzi. Jak zaznacze procesor, ktory mam na plytce Atmega 128 to przy debagowaniu wystrzeliwuje mi z funkcji w "kosmos". Jakis dziwny pusty adres. Bez debugowania tez nie dziala. Wyglada na blad w WinAVR. Czy ktos moze z tym sie...
1. Chodziło mi o AVRStudio a nie o avrside Generalnie może być najnowsza wersja. Zauważyłem tylko że AVRStudio 4.12 jest trochę powolny w stosunku do jego poprzedniej wersji 4.11 więcej na temat AVRSdie możesz przeczytać na stronie domewej tego programu. 2.AvrSide nie potrzebuje makefile ->poprostu bezpośrednio uruchamia gcc 3. Aby była możliwa symulacja...
Większość tego co napisałem pochodzi właśnie z tej książki, zapewniam również że widziałem gorsze (i droższe) - więc pozwolę sobie nie zgodzić się z oceną. Ale do rzeczy. Jeśli to drugie pytanie było do mnie to szczerze i uczciwie przyznam że nie wiem, bo przy AVR-ach nigdy nie brakowało mi szybkości i nie musiałem klepać w asm, a bajkopisarstwa uprawiał...
A w czym mam napisać sam kod? I jak go odpalić w AVR Studio 4. Czyli nic nie zrobiłeś, a piszesz: I znowu nic. Oj, ciężki z Ciebie przypadek :) 1. Czy masz na pewno zainstalowane AVR Studio 4? 2. Uruchom je i z górnego menu wybierz PROJECT WIZARD 3. Wyskoczy okienko gdzie wybierzesz NEW PROJECT 4. Później: - język w którym chcesz pisać program (zapewne...
Zacznijmy od tego, że zmienisz środowisko na oryginalne Atmel Studio, chyba że pracujesz na jakimś bardzo starym komputerze, to wtedy AVR Studio: Poza tym, skoro są błędy to należy je przeanalizować, ponieważ one wskazują co jest nie tak. O te, których nie rozumiesz możesz zapytać na forum. Gdy już zainstalujesz nowe środowisko i nadal będą błędy, to...
Program moze wygladac np tak: #include <io.h> #include <lcd.h> #include <math.h> #include<stdlib.h> int main(void) { double a,b; unsigned char *str,wsk Pomocy co robic :cry:
Pliki .h to tzw. pliki naglowkowe (ang. header) Przewaznie w takich plikach umieszcza sie funkcje standardowe do wykorzystania w roznych projektach tak zebys nie musial powtarzac calej zabawy w pisanie kodu od poczatku. Rowniez w tych plikach czesto umieszcza sie rzeczy powiazane ze sprzetem. A pliki .c sa do Twojej dyspozycji i to wlasnie w nich piszesz...
Witam. Mam taki problem i probowalem juz kilka sposobow. Nie weim jak przekazac zmienna z klasy do programu glownego ( nie wiem nawet czy to jest klasa ) W programie glownym robilem kilka modyfikacji i oto przyklad np: u08 chwila[3]; pcf8583GetTime(chwila); godz = chwila[2]; min = chwila[1]; sek = chwila[0]; rprintf("...
To czy wystarczy wrzucić do katalogu czy trzeba dodawać wpisy do makefila jest uzależnione od tego jak makefile jest napisany (się okazuje). Mam kilka projektów pod eclipse z różnych źródeł i w tym projekcie z freertos samo wrzucenie nie działa a w innym projekcie folder gdzie są biblioteki do STM jest cały kompilowany chociaż faktycznie w programie...
slawek55 --> nie ma wdt.c bo to jest w bibliotekach właśnie. A ty robisz błędne założenia, że twoje pliki *.c oraz *.h to jakieś biblioteki. Tak mówi się na nie potocznie ale nie ma to nic wspólnego z bibliotekami czyli plikami *.o Poza tym skorzystaj z jakiegoś środowiska jak np Avr Studio albo Eclipse albo jeszcze coś innego - które to same za ciebie...
Witam! Problem rozwiązałem poprzez zmianę procedury obsługi rc5 na inną, używaną w jednym z firmowych projektów. Niestety skończył się czas i mimo iż ta nowa jest znacznie większa to musi być dobra ;) Dziękuję wszystkim za pomoc i zaangażowanie. Pozdrawiam, Bartek
witam, zdarzyła mi się taka przypadłość, w czasie kompilacji programu w AVRStudio program się zawiesił i musiałem go 'zabić' po ponownym uruchomieniu i próbie build wyskakuje błąd i to dla każdego projekru (nawet NAJprostszego) [syntax=c] int main() { return 0; } [/syntax] Build started 3.12.2015 at 13:08:29 avr-gcc -mmcu=atmega88 -Wl,-Map=main.map...
Witam! (...) Pytanie... jak zrobic, zeby teraz kompilator pomijal wszystkie niewykorzystywane funkcje/procedury? Pozdrawiam! W Makefile projektu usuń te pliki bibliotek (.c), których nie używasz.. Dodatkowo nie dołączaj ich nagłówków (.h) przez #include w głównym pliku projektu.. Najlepiej ściągnij sobie jakąś bibliotekę i podejrzyj jak to jest rozwiązywane...
Witam mam problem z kompilacją bibliteki uart.c Peter Fleury-ego którą wykorzystuje w moim programie. Probram uart.c dodałem do mojego projektu. Przypomnę że programu Petera nie zmieniałem a w pliku makefile dodałem uart.c do p-lików któr powinny podlegać kompilacji. Możeci mi pomóc i powiedzieć co jest grane gdy w wynku kompilacji dane są taki oto...
"Jezeli wszystko kompiluje sie bez bledow, to znaczy jest tez tworzony plik o nazwie 'costam.hex'. Na tym wlasnie kompilacja polega. Powinienes go znalezc we folderze projektu. Niezaleznie od tego, niezlym pomyslem bylolby przestudiowac "MANUAL" dla WinAVR oraz AVR Studio; albo przynajmniej poszukac w internecie info pod haslem: Szybki start z WinAVR...
Jeśli piszesz w AVRStudio albo w Eclipse to częstotliwość zegara deklarujesz w opcjach projektu. Bo ta deklaracja obowiązuje tylko w main. Używam WinAVR, częstotliwość mam jeszcze w Makefile. Czy funkcje przerwań np. ISR(TIMER0_OVF_vect) również mogę "wyrzucić" z pliku main.c ?
Witam Program nie robi nic konkretnego, ale chodzi mi o ten problem przy kompilacji: Error1expected '=', ',', ';', 'asm' or '__attribute__' before 'abc'main.h 425AVRGCC1 Error2'abc' undeclared (first use in this function)funkcje.c32AVRGCC1 Error3each undeclared identifier is reported only once for each function it appears infunkcje.c32AVRGCC1...
Witam, mam problem z kompilacją projektu v-usb-midi. > "make.exe" all make.exe: *** No rule to make target `../usbdrv/usbdrv.c', needed by `usbdrv.o'. Stop. > Process Exit Code: 2 > Time Taken: 00:00 Próbowałem kompilować samo v-usb, ale z kolei wtedy dostaję inne errory. Byłbym bardzo wdzięczny, jeśli znalazłby się jakiś altruista, który najlepiej...
Czyli nie chcesz biblioteki, a po prostu podzielić program na szereg plików. Czyli tworzysz plioki z kodem o rozszerzeniu c i dodajesz je do projektu. A deklaracje funkcji/zmiennych któe chcesz udostępnić na zewnątrz deklarujesz w pliku nagłówkowym z dyrektywą extern.
Wystarczy zrozumieć, że to co się podaje na wejście (nadajnik), pojawia się na wyjściu (odbiorniku) czyli wystawisz stan niski na nadajniku, na odbiorniku jest stan niski... Więc mając te informacje, możesz napisać własny protokół przesyłania informacji.
A jak sprawdzać wolną pamięć w czasie pracy programu na AVR, podaj przyklad kodu Dodano po 1 Cześć! Bardzo dobrze, że pytasz o monitorowanie wolnej pamięci w trakcie pracy programu na mikrokontrolerach AVR, ponieważ jest to ważny aspekt w projektowaniu stabilnych i efektywnych aplikacji. Istnieje kilka metod na sprawdzanie dostępnej pamięci RAM, ale...
Witam. Ja robie to tak , uruchamiam symulacje w avrstudio i dobieram odpowiednia ilosc nop w funkcji delay_us. Powinno smigac , bo w jednym z projektow rownie uzywalem takiego kwarcu.
A nie prosciej tak zrobic - avr-nm --size-sort projekt.elf - co da nam posortowana liste obiektow, dodatkowo mozna to przegrepowac wzgledem interesujacego nas symbolu.
Witam, Zainstalowałem ostatnio AVRStudio 4.12+SP3 + WinAvr + AVRLib aby popróbować coś pisać w C. Dość długo już piszę w Bascom'ie i przyszedł czas na zmianę środowiska. No i mój pierwszy programik skompilował się bez błędu :D. Postanowiłem pójść dalej i spróbować przykładów z AVRLib, chodzi mi głównie o obsługę kart MMC. Problem w tym że kompilator...
Mam takie coś AVR-STUDIO + WINAVR (wszystko najnowsze). Pakiet działa, ale mam pewien projekt napisany w C, gdzie część funkcji jest w asm a część w pliku xxx.S (duża litera oczywiście). Chciałbym to skompilować. Oczywiście można to zrobić ręczenie dopisując plik w makefile (to ta część o której wiem), ale czy można to zrobić z poziomu AVR-Studio,...
Ja używałem CV w pracy... i szybko wróciliśmy do GCC:p CV ma jedną fajną rzecz- ten śmieszny generatorek... ale na dłuższą metę i tak wolę samemu to na piechotę porobić w odpowiednich plikach... ;-) Pozdro. P.S. Dla mnie CV legł jak napisałem program obsługujący ds18b20 i srednio działał - konieczność poprawek bibliotek bo kabel był dłuższy niż projektant...
Ostatecznie zdecydowałem się na odejście od bascoma i skierowanie się w strone C. Wybrałem Eclipse jako IDE + WINAVR. Mój problem polega na tym że tworząc nowy projekt w menu Avr Cross target application jako toolchain mam tylko AVR-GCC a chciałbym mieć możliwośc wyboru jako toolchain WinAvr. Znalazłem w internecie wiele opisów jak to zintegrować ale...
Wojtek_P - wiem, wiem, już do tego doszedłem. No i tu kolejny raz potwierdza się fakt, że gdyby wszystko było zwięźle opisane w jednej instrukcji, to nie traciłbym niepotrzebnie czasu. Zacząłem się bawić nową wersją AVR Side i trzeba przyznać, że wygląda bardzo ciekawie. Edytor jest fajniejszy od AVR Studio, chociaż mi brakuje drzewa projektu. Olbrzymią...
mam prosty kod: #include <avr/io.h> /***************************************... Definicje stałych ****************************************... #define F_CPU 8000000 /* 8MHz zegar procesora */ #define CYCLES_PER_US ((F_CPU+500000)/8000000) /* cpu cycles per microsecond */ /***************************************...
Mam problem wynikający z braku mojej wiedzy.w programie WinAvr pisze sobie jakis plik zródłowy zapisuje sobie go powiedzmy w folderze:projekty nastepnie wybieram opcje Tools/make alli w okienku output wyskakuje mi cos takiego:> "make.exe" all > Failed to create process: Operacja zakończona pomyślnie. > Process Exit Code: 0 i niewiem co dalej nie moge...
dzięki za sybką odpowiedż: W AvrSide mam Projekt,Ustawienia,Mikrokontroler at90S2313 a w AVR Studio w zakładce Workspace I/O mam również ten sam uP, nie wiem gdzie znaleść te komunikaty o których pisales Gdy ładuję plik cof w AVR Studio mam komunikat: A project already exists using this objectfile, would you laod this (YES/NO) i prawdę powiedziawszy...
Witam, W załączniku masz przykładowy bardzo prosty projekt z wykorzystaniem biblioteki. Pooglądaj, uruchom, pozamieniaj, ... pozdrawiam Marek
Witam! Przede wszystkim w obu plikach zauważyłem różne poziomy optymalizacji kodu, w pliku z 'sample' jest to 's' (optymalizacja pod kątem rozmiaru kodu), a w pliku z 'examples' jest '02' (optymalizacja bardziej pod kątem szybkości kodu) i stąd mogła się wziąść róznica prędkości wykonywania kodu. W nowych projektach stosowałbym wersję z katalogu 'sample'.
Witam, Otwórz okno linii poleceń. Przejdź do katalogu z projektem. Wpisz polecenie avr-size twoj_program.hex Dostaniesz cos takiego > "avr-size" atlas.hex text data bss dec hexfilename 0 1646 0 1646 66eatlas.hex To co jest pod "dec" to wielkośc programu do flash'a Pozdrawiam Mozesz też dodać przycisk do Tolls w PN
... Dlaczego kompilator pluje błędem: undefined reference to `dtostrf' ... W preferencjach projektu dołącz odpowiednią bibliotekę i będzie OK :D Piotrek
Witajcie. Ostatecznie nie wiem, dlaczego kompilator wypisuje takie ostrzeżenie. W każdym razie nie zauważyłem z tego powodu żadnych nieprawidłowości. Moje projekty chodzą już miesiącami i wszystko ok, włącznie z wypisywaniem stringów. Pozdrawiam
Plik makefile musisz trzymać na dysku w podkatalogu Twojego projektu, a więc w tym samym co pliki .c i .h. Ja korzystam z typowego pliku makefile, w którym modyfikuję tylko 4 pierwsze linijki. W załączniku masz ten plik - zmień tylko nazwę "First" na swoją i typ procesora, a będzie ok. Jeśli chcesz używać "Programmers Notepad2", to po pierwsze musisz...
Witam, Używam WinAVR i muszę użyć ATmega168, dodatkowo muszę skorzystać z wewnętrznego EEPROMu tego układu. Miałem wersje WinAVR 20050214 ale nie obsługiwała tego układu, więc zainstalowałem najnowszą 20060125, niestety jest niestabilna i powoduje różne problemy w układzie ( opisywane m.in. na AVRFreak GCC Forum ) - przy okazji nie polecam tej wersji...
Ok, dzięki wielkie. Sporo mi rozjaśniłeś, ale mam jeszcze kilka pytań: 1. W którym miejscu pliku .c mam dołączyć plik .s? W pętli main czy poza nią? Po prostu gdzie i co dopisać (pewnie coś pokroju asm ("#include plik.s"), ale nie wiem). 2. Co to za składnia w pliku .s? Nie jest to avrasm2, w takim razie jaki to asembler i gdzie mogę poszukać opisu...
1. Jak zastosować atrybut "naked" dla obsługi przerwania bo głównie tu kompilator dorzuca od siebie wiele różości. Tak samo jak dla funkcji :D 2. Czy można kompilatorowi zabronić urzywania niektórych rejestrów ? Prawdopodobnie TAK - dokumentacja. Najwięcej radości sprawiłoby mi poznanie metody łączenia plików *.c i *.S mnie kompilator wnerwia komunikatem...
Witam. Mój problem jest następujacy: Mam zainstalwoane AvrStudio 4.12 i najnowaszego WinAvr (chyba z kwietnia tego roku). Potrzebuje umieścić pare tablic w kodzie programu, wiec chciałem zastosowam biblioteke pgmspace.h ale po dodaniu jej do kompilacji poleceniem #include, i rozpoczęciu kompilacji AvrStudio zawiesza się. Okienko wykazuje brak odpowiedzi,...
Skopiowałem plik makefile do katalogu projektu z winavr\examples\demo i zmieniłem MCU type i nazwę pliku. Przy kompilacji tego prostego programu pochodzącego ze strony www.patron.net występuje błąd: #include <avr/io.h> #define LED_ON sbi(DDRB,PB1);sbi(PORTB,PB1) int main (void) { LED_ON; for (;;) { } return (0); } -------- begin -------- avr-gcc...
Spróbuj usunać z projektu wszystkie pliki wynikowe (.lst .hex .elf .map .o) i wtedy sprawdź czy mniany zadziałają.
Napisz program, skompiluj i poszukaj wynikowego pliku zawierającego kod w asemblerze (to będzie jeden z nowo powstałych w katalogu z projektem plików, nie pamiętam rozszerzenia). W pliku tym jest też "binarna" wersja programu - wystarczy policzyć bajty. Zobaczysz, co zajmuje mniej miejsca, jeśli porównasz 2 wersje swojego programu. Nie zapomnij o tym,...
Jako kompilator C dla 8051 polecam darmowy SDCC. Kompletny projekt SDCC + IDE znajdziesz tu: Jeśli zaś chodzi o pliki include, to zależy jakiego procesora używasz ponieważ różne procesory różnią się nieco rejestrami. Niektóre mają dodatkowy przetwornik A/C czy dodatkową pamięć danych EEPROM. I cały ten dodatkowy sprzęt tzrba jakoś obsłużyć. Tak więc...
Witam. Duzo czasu stracilem na szukanie jakiegos przykladu na dolaczenie pliku assemblerowego w z plikami z napisanymi w C. Wiem ze: - rozszerzenie pliku asm konczy sie ".S" -w Makefile trzeba dodac ASRC = nazwapliku.S Nie wiem jak ma wygladac taki plik. Przypuszczam ze plik: asm: .include "m16def.inc" .global nazwa_funkcji,nazwa_funkcji2; nazwa_funkcji:...
Witam Mam problem z funkcja pow, jak argumentem jest zmienna np. "tmp=pow(tmp1,3);" pojawia mi sie taki blad: gcc plug-in: Error: Object file not found on expected location E:\Projekty\ServoC\default\ServoC.elf. Jak argumentem jest liczba to wszystko jest ok. Mial moze ktos taki problem z ta funkcja? moze ktos wie jak go rozwiazac?
sugerujesz zeby nie tworzyc main.h ? Dokładnie. Jeśli jest powód istnienia main.h (w/w zmienne), być może coś nie tak w koncepcji. Moduły 'aplikacyjne' korzystają z 'bibliotecznych' a nie na odwrót. Które są biblioteczne? Te które (bez zmian) maja dać się użyć (choćby potencjalnie) w następnych projektach. I właśnie tego przypilnuj: żeby nie było w...
Witam wszystkich, Od niedawna zaczalem programowac w C, robie projekt ktory wyswietla mi temperature na wyswietlaczu 2x16, dostalem gotowy program, zmienilem go do mojego schematu. Przyszedl czas na przeanalizowanie jego, i zaczely sie problemy, otóż nie wiem dokladnie Jak działa Procedura "USART_Transmit". void USART_Transmit( unsigned char data...
Ehh tez się nie skompilowało. Wada leżała gdzieś w konfiguracji programu. Reinstalacja WinAVR rozwiązała problem. Dzięki snow za pomoc :) Pozdrawiam Błąd był chyba taki, że po WinAVR zainstalowałeś Borland C++, on 'się dodał' do zmiennej systemowej PATH (ścieżki do katalogów z plikami wykonywalnymi), i jak wywoływałeś make.exe, to wywoływało się to...
Pisałem makefile. Całe źrodła biblioteki mi się na nic nie przydadzą :wink: Poza tym, jakbyś makefile wkleił, byłoby prościej niż rozpakowywać rar-y. Zapomniałem napisać wcześniej: pliki lst to listingi z kompilacji (czyli wynik kompilacji). Jeżeli nie chcesz wnikać w to, co kompilator zrobił ze źrodłami :wink:, to nie są Ci do niczego potrzebne. Makefile...
Witam. Zaczynam przygode z WINAVR i klepaniem kodu programu dla AVRków w C. Do tej pory używałem tylko C++ przy pisanianu programów dla PC a do AVRków wystarczał mi asembler. Ale do rzeczy : tworze nowy projekt w skład którego wchodzą 3 pliki : -main.c (z funkcją główną) -myHeader.h (deklaracje funkcji add() /plik nagłówkowy); -add.c (definicja funcji...
Jak zmodyfikować poniższy plik Makefile aby prawidłowo kompilował się projekt złożony z kilku plików .c ? Próbuje zbudowac projekt na bazie systemu operacyjnego AVRX, AVRStudio nie chce tego łyknąć. Dodano po 40 # Hey Emacs, this is a -*- makefile -*- # # WinAVR Sample makefile written by Eric B. Weddington, Jörg Wunsch, et al. # Released to the Public...
Przy zmianie wersji GCC zawsze najpierw wykonaj czyszczenie projektu: make clean A dopiero później ponowną kompilację. A jeśli chodzi o opis pierwszego problemu.... To brzmi trochę "bełkotliwie" i nic z tego nie zrozumiałem.
Witam, Niedawno ściągnąłem bibliotekę AVRlib, pełną fajnych udogodnień do pisania na AVR'kach. Jednak do tej pory nie mogę jej zmusić do działania. Przy instalacji nie ma żadnych prolemów. Mam WinAVR w wersji 20050214. Po utworzeniu nowego projektu w VMLab'ie, dodaniu ścieżki C:\AVRlib do ścieżek z "includami" i dołączeniu pliku <servo.h> oraz...
Schemat jest ok. Jest to sterowanie LCD 4-bitowe z odczytem zajętości wyświetlacza. Czyli wiesz kiedy LCD jest zajęty (linia RW). Możesz zrobić na wewnętrznym oscylatorze za pomocą timera, ale będzie to miało jednak jakąś niedokładność, do tego odpada jeden timer na tą funkcję. Kup na Allegro PFC8583 i będziesz miał luks zegarek zajmujący tylko jedną...
volatile struct { unsigned char icp_int: 1; unsigned char int0_int: 1; unsigned char rx_int: 1; unsigned char spi_int: 1; unsigned char adc_int:1; } intflags; i przerwanie: SIGNAL(SIG_USART_RECV) { // USART RX interrupt uint8_t c; c = UDR0; if (bit_is_clear(UCSR0A, FE0)) { rxbuff = c;...
dostaje błąd "> "make.exe" all avr-gcc -g -Wall -O2 -mmcu=atmega16 -c -o led.o led.c avr-gcc -g -Wall -O2 -mmcu=atmega16 -Wl,-Map,led.map -o led.elf led.o avr-objdump -h -S led.elf > led.lst avr-objcopy -j .text -j .data -O ihex led.elf led.hex avr-objcopy -j .text -j .data -O binary led.elf led.bin avr-objcopy -j .text -j .data -O srec led.elf led.srec...
najkrócej mówiąc - w pliku Makefile brakuje reguły dla all.. Przyjrzyj się dokładnie zawartości przykładowych projektów i plików Makefile tam zawartych..
Tak. Jest opisane w dokumentacji doi avr-libc. Szablon makefile posiada również taką funkcję, ale jest nieco kulawy jeżeli chodzi o make clean (dotyczy to nie tylko bibliotek) - nie usunie biblioteki, oraz plików .o i .lst wygenerowanych ze źródeł w asemblerze i C++. Każda funkcja musi być w osobnym pliku, żeby taka biblioteka miała sens. Potem dla...
Witam Dopiero zaczynam w temacie programowania uC i z gory przepraszam za naiwnosc pytania. Mam Procesor ATmega 128. Chcialbym go zaprogramowac w C. Zainstalowalem AVR Studio 4 oraz WinAVR. Dla proby sciagnalem jakis prosty programik w C i chcialem go przekonwertowac do postaci takiej by wgrac do procesora. Po odpaleniu w oknie "Project type" wybieram...
Moze napisz dlaczego chcesz by plik hex generowany był w podfolderze? Nie chodzi konkretnie o ten jeden plik, a o wszystkie wyjściowe pliki (szczególnie obj i lst). Projekt składa się z dużej ilości źródełek i bibliotek. Po kompilacji powstaje mnóstwo plików, które lądują w folderze projektu. Chciałbym nad tym zapanować i wymusić porządek. Udało mi...
nikt nie moze skumac makefile'a -I . -I./inc src/main.c -o src/main.o to jest linijka wywolujaca kompilacje pliku .c do pliku .o. tak jak napisal powyzej szelus, idea jest taka, ze mozesz kompilatorowi podac sciezki, w ktorych on bedzie sobie szukal plikow dolaczonych przez #include - standardowo dodany zostaje katalog w ktorym jest projekt: -I . (kropka...
Ja generalnie korzystam z funkcji opóźniających z <util/delay.h> (_delay_ms(x), _delay_us(x)). W jednym projekcie mam zaprojektowany osobny moduł z funkcjami opóźniającymi, oparty o timer (moduł robi też inne rzeczy, więc w momencie oczekiwania robi zadania w tle). Najlepszym rozwiązaniem wydaje mi się przeniesienie funkcji do osobnego pliku .c...
Jak dodam tylko #include "rtl8019.c" to działa OK (w końcu w rtl8019.c jest już wpis #include "rtl8019.h" To akurat działa nie w tą stronę. Jeśli zaincludujesz plik *.c to tak jakbyć w pliku main wpisał fizycznie kod. Jeśli chcesz natomiast dołączyć cos jako biblioekę to kompilator musi wiedzieć, że ma ją skompilować a linker, że ma ją dolinkować....
Witam Posiadam najnowszą wersje WinAVR (chyba z czerwca bieżącego roku) i stare AVR Studio 4. Co muszę zrobić żebym po kompilacji w projektu w WinAVR mógł prześledzić jego działanie w symulatorze AVR STUDI'a :?:
Kurs? AvrStudio to IDE nie trzeba tam żadnego kursu? A w C pisze się tak samo jak PN. Tyle że wygodniej bo All in One:) A Kurs polecam jak wyżej Pana Szanownego Kolegi R. Koppela:) (Był w EdW) Na początek w AvrStudio poprostu zrób nowy projekt używając C i tyle...:> Pisz do woli na początek spoko Ci wystarczy...
Jestem miło zaskoczony tak sporym zainteresowanie za co dziękuje. Demeus a nie miałeś problemu z tą biblioteką, napisałem ten program co proponujesz dodałem biblioteki ale ciągle wywala mi błędy typu: undefined reference to 'DS18X20_start_meas' undefined reference to 'delayloop32' undefined reference to 'DS18X20_read_meas_single' undefined reference...
bez optymalizacji też nie działa (-O0)? Jeśli nie, to weź spreparuj kod do minimum, tak żeby pokazywał sedno sprawy. Usuń dosłownie wszystko co tylko można, ale tak, żeby problem występował. Uprość nawet odczyt i zapis, żebyśmy mogli prześledzić co robisz. Bo jeśli z O0 nie będzie ci chodzić i fusy masz dobrze ustawione, to tylko kod może więcej wyjaśnić....
Da się wszystko na usb1.1 są nawet biblioteki do komunikacji z własnymi programami na kompie tu jest więcej informacji ciekawe rzeczy są także na forum projektu.
Witam, mam dwa pliki projektu w C: interrupt. i main.c (dla uproszczenia). interrupt.c: static volatile TFrame Frame ={0}; SIGNAL (SIG_INTERRUPT0) { (...) //m.in. zmienia sie struktura Frame } main.c: extern TFrame Frame; void main (void) { (...) sei(); while (1) { if (Frame.state...
Witam, Teraz działa :-) Tzn, działa po zadeklarowaniu sektora pamięci w opcjach konfiguracji projektu. To teraz kolega(Dr.Vee ) zafundował mi trochę pracy przy bootloaderze... Dzięki! Pozdrawiam!
w avrstudio w opcjach projektu, w custom options dorzuć do prawej tabeli. a się podepnę do tematu i o coś zapytam: czy zastosowanie jednej zmiennej[też stosuje "i" :)] i odwoływanie się do niej w każdej pętli będzie lepsze niż tworzenie zmiennej w każdej pętli. bo obydwa rozwiązania[za prostym przykładzie] zajmują tyle samo miejsca.
Czy mógłby ktoś mi pokrótce opisać strukturę plików w projekcie w Eclipse ? (chcę utworzyć projekt pod avr-a, mam wtyczkę, winavr oraz inne potrzebne moduły). Mam tak: -folder bibliotek d:/lib (pliki *.h oraz *.c) Plik *.h nagłówkowy ma define'y oraz deklaracje funkcji i zmiennych. W pliku *.c dołączam plik *.h i tworzę tam definicje. W innym pliku...
plik jest nieprawidlowy - nie wystarczy go tylko 'miec' wrzuc ten plik i podaj sciezke do calego projektu. 4\/3!!
Projekty kompilowane przez gcc nie mogą być umieszczone w ścieżce która zawiera spacje - to po pierwsze. Po drugie - skoro make.exe nie jest rozpoznawane, to źle zainstalowałeś WinAVR. 4\/3!!
Witam, od pewnego czasu borykam się z pewną trudnością, a mianowicie obsługą dwóch przerwań zewnętrznych, z czego jedno ma byc wykorzystywane podczas obsługi drugiego. Projekt to odcięcie zapłonu z zamkiem szyfrowym. Po krótce: W momencie załaczenia stacyjki na on, ma wyśwoietlać się komenda podania pinu itd, po wpisaniu na tranzystor sterujący przekaźnikiem...
Chciałem wykorzystać bibliotekę EFSL () do komunikacji pomiędzy ATMEGA128 a karta SD. W pliku manuala do biblioteki efsl , na stronie 10 w punkcie 3.2.2 pisze, że przy pomocy WinAVRa trzeba sobie najpierw skompilować biblioteki. O ile wcześniej pisałem własne programy w AVRStudio to o tyle tutaj najpierw muszę mieć te biblioteki *.a*. Jest mi w stanie...
Na swojej stronie ( www.freddiechopin.info ) w dziale Download > ARM > Przykłady umieszczone zostały dwa przykładowe projekty pod Eclipse - jeden dla NXP LPC2103 , drugi dla ST STM32F103RB . Przykłady te (w założeniu) są dopełnieniem artykułu ze strony o nazwie ARM toolchain - tutorial (na stronie w dzale Artykuły > ARM , dyskusja na forum - ), a więc...
A ja po raz kolejny napiszę, że niczego nie należy kopiować do katalogu "systemowego" WinAVR, tylko WSZYSTKO do katalogu projektu. 4\/3!!
Nathir - mowiac szczerze to jesli teraz ominiesz podstawy i bedziesz uparcie forsowal swoj projekt to tylko stracisz pieniadze, a to i tak nie zadziala. I nie pisze tego, zeby cie zdolowac, bo zdolowany bedziesz jak wydasz pieniadze, stracisz czas, a na koncu wrzucisz to do kosza. Ad meritum - twoj schemat, ktory trudno nazwac schematem - reset zostaw...
Witam, Osobiście dużo projektów zrobiłem na tym wyświetlaczu i mogę stwierdzić że są one na prawdę bardzo odporne. Tak jak rozmówca należy sprawdzić czy połączenia masz dobre. Jedynym mankamentem tych wyświetlaczy jest w niektórych przypadkach brak kompatybilnosci z znanym sterownikiem PCD8544. Ten przypadek występuję w tych tanich chińskich zamiennikach....
(at)pol1111 To prawda, tylko że bardzo rzadko zdarza się że procesory zasila się bezpośrednio z napięcia baterii. Przeważnie są między nimi jakieś układy stabilizacji które na wyjściu dają napięcie systemu niezależne od wartości napięcia zasilania. To jest tak naprawdę podstawa przy projektowaniu każdego układu elektronicznego, uniezależnienie jego...
Hm też mi się tak wydaje, nie wiem czemu go tam nie ma.. Makefile jest z folderu w którym jest cały projekt tego programu z biblioteki rklibavr. Makefile: # Nazwa pliku z funkcją main() - BEZ ROZSZERZENIA! TARGET = main # typ mikrokontrolera #MCU = at90s2313 #MCU = at90s8515 #MCU = atmega163 MCU = atmega8 #MCU = atmega128 # Katalog z bibliotekami...
Czy jest sens podłączać i dokompilowywać całe biblioteki ? Ja gdy coś konkretnego potrzebuję z Proycon'a (np ostatnio do obsługi ADC to wybieram odpowiednie pliki i dołączam je do projektu - oczywiście trzeba często pozmieniać parę rzeczy czy tez utworzyć sobie globalne definicje w zasadzie makra w oddzielnym pliku - ale też trzeba dokładnie przejrzeć...
Dolacz do projektu plik lcd.c pewnie tylko dolaczasz naglowek.