PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : delay.h --will nicht mehr?



tholan
08.06.2008, 09:51
Hi Megacoder!
Ich nutze seit kurzen den WinAVR, Ver. 20080512 unter Win98se
und wundere mich, das folgendes nicht mehr geht:


#include<util/delay.h>
// The maximal possible delay is 262.14 ms / F_CPU in MHz.
// = 262.14mS/ 16MHz = 16.38
// MCU Frequenz steht in der "make".


int main(void)
{
_delay_ms(10);
}


Ich bekomme hier einen allgemeinen Compiler-Error ohne weitere Hinweise.
Kennt jemand Abhilfe?
Vielen Dank,
tholan

p_mork
08.06.2008, 10:56
Ich bekomme hier einen allgemeinen Compiler-Error ohne weitere Hinweise.
Kannst Du bitte den kompletten Output posten?

PS: WinAVR20080512 würd ich nicht verwenden, das ist voll mit Bugs und erzeugt oft laufunfähigen Code oder eben internal compiler errors.

zerush
08.06.2008, 13:33
Ja die komplette Compieler Ausgabe würde mich auch interessieren...

Außerdem würde ich hinter dem #include ein Leerzeichen machen!

s.o.
08.06.2008, 17:48
Nur zur Info:
Ich habe mal edelay veröffentlicht (siehe hier im Forum) um 100prozentgenaue Wartezeiten zu erreichen. Das könnte auch interessant für dich sein...

Herkulase
09.06.2008, 07:04
ich glaub, unter windows musst Du einen Backslash benutzen <util\delay.h> , nicht <util\delay.h> oder täusch ich mich da?

Gerald

tholan
09.06.2008, 08:51
Hi,
bis auf einen leeren ".dep" - Ordner
produziert der Compiler nur die folgende
Standartausgabe:



-------- begin --------
avr-gcc (WinAVR 20080512) 4.3.0
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling C: M8hallo.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./M8hallo.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/M8hallo.o.d M8hallo.c -o M8hallo.o
M8hallo.c: In function '_delay_ms' :
M8hallo.c:10: internal compiler error: Illegal instruction
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://sourceforge.net/tracker/?atid=52007&group_id=68108&func=browse> for instructions.
make: *** [M8hallo.o] Error 1


Ich hab noch etwas gegoogelt und noch einen knappen Hinweis gefunden, daß das mit
der Optimierung zu tun haben könnte.
Dann hab ich "opt=" in der makefile mal auf "0" gesetzt.
Daraufhin wird es fehlerfrei kompiliert.

@Herkulase:
Das mit dem Forslash in den Präprozessoranweisungen stimmt schon, da das alles unter
der Cygwin-Shell von Redhead unter Windows läuft.
Das ist 'ne kleine Linux-Emulation für Windows.

p.s. :

Außerdem würde ich hinter dem #include ein Leerzeichen machen!
...wenn's scheee macht!