PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] AVR Studio 5 mit RN Control Test Programm... (build error)



Ritchie
20.09.2011, 22:03
Hallo Zusammen,

jetzt habe ich das ganze mit AVR Studio versucht zu erstellen.



Error 2 __builtin_avr_delay_cycles expects an integer constant. e:\amtel\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h 152 28 RN Testboard


Diesen Fehler bekomme ich jetzt !

Ebenso eine Warnung, das F_CPU nicht gesetzt ist,
wird aber durch einen Makro auf # define F_CPU 1000000UL gesetzt.

Das Projekt wurde mit "Neues Projekt" erstellt. Die erstellte .C Datei habe ich dann ausgetauscht und die Headerdatei eingefügt. Ach ja, < > durch "" für den Include der Datei ersetzt. Ist ja keine Standardlib.

Hier nochmals der Log des Compiler:


------ Build started: Project: RN Testboard, Configuration: Release AVR ------
Build started.
Project "RN Testboard.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "E:\Amtel\Vs\AvrGCC.targets" from project "E:\Projekt\RN Testboard\RN Testboard\RN Testboard.avrgccproj" (target "Build" depends on it):
Task "RunAvrGCC"
E:\Amtel\AVR ToolChain\bin\make.exe all
In file included from .././rncontrol.h:11:0,
from .././RN Testboard.c:29:
e:\amtel\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h(89,3): #warning "F_CPU not defined for <util/delay.h>"
e:\amtel\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h: In function 'sound':
e:\amtel\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h(152,28): __builtin_avr_delay_cycles expects an integer constant.
e:\amtel\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h(152,28): __builtin_avr_delay_cycles expects an integer constant.
make: *** [RN Testboard.o] Error 1
RN Testboard.c
Invoking: AVR/GNU C Compiler
"E:/Amtel/AVR ToolChain/bin/avr-gcc.exe" -funsigned-char -funsigned-bitfields -Os -fpack-struct -fshort-enums -Wall -c -std=gnu99 -mmcu=atmega32 -MD -MP -MF"RN Testboard.d" -MQ"RN Testboard.o" -o"RN Testboard.o" ".././RN Testboard.c"
Done executing task "RunAvrGCC" -- FAILED.
Done building target "CoreBuild" in project "RN Testboard.avrgccproj" -- FAILED.
Done building project "RN Testboard.avrgccproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========


Diese Funktion macht Ärger



void sound(uint8_t hoehe, uint16_t laenge)
{
for(uint16_t i=0; i<laenge*15; i=i+(2*hoehe))
{
setportdon(7);
// _delay_ms( hoehe);
setportdoff(7);
// _delay_ms( hoehe);
}
}

Ohne die remarks kommt der Fehler.



Gruss R.

sternst
20.09.2011, 23:06
Ebenso eine Warnung, das F_CPU nicht gesetzt ist,
wird aber durch einen Makro auf # define F_CPU 1000000UL gesetzt.Aber offensichtlich nicht an der richtigen Stelle. F_CPU muss gesetzt sein bevor delay.h inkludiert wird.


Diese Funktion macht ÄrgerWeil das Argument für _delay_ms etwas sein muss, dessen Wert bereits beim Kompilieren bekannt ist.

Ritchie
20.09.2011, 23:15
Aber offensichtlich nicht an der richtigen Stelle. F_CPU muss gesetzt sein bevor delay.h inkludiert wird.

Der Makro hat es eingefügt und eine Warnung rausgegeben. Ich habe das ganze nochmals vor den Include eingefügt. Diese Meldung kommt jetzt nicht mehr.



Weil das Argument für _delay_ms etwas sein muss, dessen Wert bereits beim Kompilieren bekannt ist.

Dachte ja, das die mitgelieferten Beispiele korrekt arbeiten. Werde das auch noch anpassen. Ich dachte halt nur, nimm die Beispiele, übersetze diese und teste Deine Hardware. Ist halt nicht so;). Wusste nämlich noch nicht, ob mein USB Programmer korrekt arbeitet und das RN- Board noch korrekt funktioniert (es lag ein paar Jahre im Schrank)

Gruss R.

Danke für die Hilfe