Vorcras Napisano Czerwiec 3, 2014 Udostępnij Napisano Czerwiec 3, 2014 Witam, Właśnie zacząłem naukę programowania w C na mikrokontrolery AVR. Używam Atmel Studio 6. Nie mogę skompilować pierwszego programu, wyskakuje mi dziwny error (program jak i błąd na obrazku) kilka godzin temu gdy na niego podwójnie klikałem przenosiło mnie do jakiejś części kodu w pliku delay.h , teraz nic się nie dzieje. Sprawdziłem że problem występuje przy użyciu funkcji _delay_ms(). Mam zainstalowany najnowszy toolchain ze strony atmel.com. Opis z zakładki Output: ------ Build started: Project: First, Configuration: Debug AVR ------ Build started. Project "First.cproj" (default targets): Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!=''). Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.1\Vs\Compiler.targets" from project "C:\ROBOTS\PROGRAMY(atmelstudio)\First\First\First.cproj" (target "Build" depends on it): Using "RunCompilerTask" task from assembly "C:\Program Files (x86)\Atmel\Atmel Studio 6.1\Extensions\Application\AvrGCC.dll". Task "RunCompilerTask" C:\Program Files (x86)\Atmel\Atmel Studio 6.1\shellUtils\make.exe all c:\program files (x86)\atmel\atmel toolchain\avr8 gcc\native\3.4.1056\avr8-gnu-toolchain\avr\include\util\delay.h: In function '_delay_ms': Building file: .././First.c Invoking: AVR/GNU C Compiler : 3.4.4 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1056\avr8-gnu-toolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DDEBUG -DF_CPU=128000UL; -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny88 -c -std=gnu99 -MD -MP -MF "First.d" -MT"First.d" -MT"First.o" -o "First.o" ".././First.c" (0,15): expected ')' before ';' token c:\program files (x86)\atmel\atmel toolchain\avr8 gcc\native\3.4.1056\avr8-gnu-toolchain\avr\include\util\delay.h: In function '_delay_us': (0,15): expected ')' before ';' token make: *** [First.o] Error 1 Done executing task "RunCompilerTask" -- FAILED. Done building target "CoreBuild" in project "First.cproj" -- FAILED. Done building project "First.cproj" -- FAILED. Próbowałem wielu żeczy Nikt, z tego co szukałem, nie ma takiego błędu, będę wdzięczny za każdą pomoc, jestem zdesperowany 😥 Cytuj Link do komentarza Share on other sites More sharing options...
sosnus Czerwiec 4, 2014 Udostępnij Czerwiec 4, 2014 To raczej nie problem z delay.h To wygląda raczej że tak powiem na błąd gramatyczny 😉 Pokaż kod w znacznikach CODE aby można było go skopiować, może wtedy uda się znaleźć ten błąd. Cytuj Link do komentarza Share on other sites More sharing options...
Vorcras Czerwiec 4, 2014 Autor tematu Udostępnij Czerwiec 4, 2014 /* * First.c * * */ #include <avr/io.h> #include <util/delay.h> int main(void) { DDRB |= (1<<PB1)|(1<<PB2); while (1) { PORTB^=(1<<PB1)|(1<<PB2); _delay_ms(500); PORTB^=(1<<PB2); _delay_ms(500); } } Cytuj Link do komentarza Share on other sites More sharing options...
Wojciech Czerwiec 4, 2014 Udostępnij Czerwiec 4, 2014 Vorcras, musiałeś coś pogrzebać w opcjach kompilacji. Bo ten kod się kompiluje u mnie, a w twoim output widać: -DF_CPU=128000UL; co oznacza, że w opcjach projektu ustawiłeś zegar na 128 kHz. Dodane: Wrzuć skany z różnych zakładek "Toolchain", albo zrób projekt od nowa i sprawdź co się wtedy dzieje. Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Vorcras Czerwiec 4, 2014 Autor tematu Udostępnij Czerwiec 4, 2014 Faktycznie, zmieniłem na 1MHz wewnętrznego oscylatora dla atmegi 88 , ale błąd pozostał. 😕 ------ Build started: Project: First, Configuration: Debug AVR ------ Build started. Project "First.cproj" (default targets): Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!=''). Target "CoreBuild" in file "C:\Program Files (x86)\Atmel\Atmel Studio 6.1\Vs\Compiler.targets" from project "C:\ROBOTS\PROGRAMY(atmelstudio)\First\First\First.cproj" (target "Build" depends on it): Task "RunCompilerTask" C:\Program Files (x86)\Atmel\Atmel Studio 6.1\shellUtils\make.exe all c:\program files (x86)\atmel\atmel toolchain\avr8 gcc\native\3.4.1056\avr8-gnu-toolchain\avr\include\util\delay.h: In function '_delay_ms': Building file: .././First.c Invoking: AVR/GNU C Compiler : 3.4.4 "C:\Program Files (x86)\Atmel\Atmel Toolchain\AVR8 GCC\Native\3.4.1056\avr8-gnu-toolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -DDEBUG -DF_CPU=1000000UL; -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny88 -c -std=gnu99 -MD -MP -MF "First.d" -MT"First.d" -MT"First.o" -o "First.o" ".././First.c" <command-line>(0,16): expected ')' before ';' token c:\program files (x86)\atmel\atmel toolchain\avr8 gcc\native\3.4.1056\avr8-gnu-toolchain\avr\include\util\delay.h: In function '_delay_us': <command-line>(0,16): expected ')' before ';' token make: *** [First.o] Error 1 Done executing task "RunCompilerTask" -- FAILED. Done building target "CoreBuild" in project "First.cproj" -- FAILED. Done building project "First.cproj" -- FAILED. Build FAILED. ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ========== Denerwuje mnie to Atmel Studio, jest strasznie mulaste, zdecydowałem się jednak pisać w Code::Blocks z którym miałem styczność już wcześniej. (Właśnie konfiguruję) Ale dzięki za pomoc 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
sosnus Czerwiec 4, 2014 Udostępnij Czerwiec 4, 2014 U mnie na eclipse kompilacja się udała: Spróbuj 2 rzeczy: - Znajdź polecenie "Clean..." (powinno być pod "project") i przeczyść ten właśnie projekt z którym masz problemy - Utwórz nowy projekt, skopiuj treść pliku main.c i wklej go do nowego projektu, a następnie skompiluj 1 Cytuj Link do komentarza Share on other sites More sharing options...
Vorcras Czerwiec 4, 2014 Autor tematu Udostępnij Czerwiec 4, 2014 Ok, utworzyłem nowy projekt i wszystko działa. Wcześniejszy projekt utworzyłem w lutym więc nie pamiętałem co dokładnie tam robiłem... starałem się być bardzo ostrożny w zmienianiu jakichś opcji.. no niewiem, świadomie czy nie , coś musiałem tam sknocić 😃 Dzięki 😉 Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!