hallo zusammen, ich weiss, dass dies jetzt nicht gerade glorreich von mir, aber ich erhalte diese fehlermeldung beim übersetzen meines 1. programms. vielleicht kann mir einer kurz nen anhaltspunkt geben wo ich im makefile(mfile) suchen muss. ich hab mich zwar drin umgeschaut und auch die anpassung an meinen controller(mega32) hinbekommen, doch stelle ich mich jetzt zu blöde an. ich wäre schon für einen kleinen tip dankbar. danke für eure eventuelle hilfestellung gruß roadrunner hier mal die meldung: > "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.3 Copyright (C) 2004 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. make.exe: *** No rule to make target `1khz.o', needed by `1khz.elf'. Stop. > Process Exit Code: 2
Du hast keine Datei mit dem Namen 1khz.c. Vielleicht sollte sie ja 1kHz.c oder so heißen?
danke. hattest recht. hatte mich bei der datei verschrieben. blöder fehler, ich weiss. den habe ich behoben und schon habe ich die nächste meldung. zusätzlich habe ich das makefile noch angehängt. diese hier: > "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.3 Copyright (C) 2004 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. g++ -c -o 1KHZ_C.o 1KHZ_C.C process_begin: CreateProcess((null), g++ -c -o 1KHZ_C.o 1KHZ_C.C, ...) failed. make (e=2): Das System kann die angegebene Datei nicht finden. make.exe: *** [1KHZ_C.o] Error 2 > Process Exit Code: 2
g++ -c -o 1KHZ_C.o 1KHZ_C.C Das ist der falsche Compiler. Willst du wirklich ein C++ Programm schreiben? Wenn es nur C sein soll, dann muss das Source-File .c und nicht .C heissen. .C sagt dem "make" dass es ein C++ File ist.
sorry, aber wie soll ich dem makefile das richtig anweisen? ich habe das makefile soweit bearbeiten, dann in meinem projekt-ordner abgelegt und mit winavr im programmers-notepad (make-all) versucht zu übersetzen. ich habe nirgendes einen teil im makelfile gefunden, wo .c groß geschrieben ist. ????
ok, habe gerade den fehler gefunden. hattest recht. man sollte auch die datei richtig abspeichern :-) danke
hallo nochmal. jetzt mal eine frage: ich wollte einen port wie in meinem angehängten c-prg direkt ansprechen. das geht jetzt wohl leider nicht ganz so wie ich es von meinem 8051 gemwohnt bin. kann ich einen einzelnen pin des ports d in c ansprechen?oder wie muss das realisiert werden.was habe ich falsch gemacht? vg daniel > "make.exe" all -------- begin -------- avr-gcc (GCC) 3.4.3 Copyright (C) 2004 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: 1KHZ_C.c avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=1KHZ_C.lst -std=gnu99 -MD -MP -MF .dep/1KHZ_C.o.d 1KHZ_C.c -o 1KHZ_C.o 1KHZ_C.c:5: error: parse error before "volatile" 1KHZ_C.c:6: warning: type defaults to `int' in declaration of `bAusgang' 1KHZ_C.c:6: warning: data definition has no type or storage class 1KHZ_C.c:7: warning: type defaults to `int' in declaration of `bAusgang' 1KHZ_C.c:7: warning: data definition has no type or storage class 1KHZ_C.c:15: warning: return type of 'main' is not `int' make.exe: *** [1KHZ_C.o] Error 1 > Process Exit Code: 2
Sieh dir in der avr-libc Doku den Punkt "Special Function registers" an, da ist es gut beschrieben. Kurz: PORTD|=_BV(7); // Bit 7 setzen PORTD&=~_BV(7); // Bit 7 löschen Es geht natürlich auch PORTD=0x80, wenn der Rest auf 0 gesetzt werden soll. Ich glaub "bool" gibts nicht, nimm (unsigned) char.
bool gibt's mit <stdbool.h>, allerdings ist das ein int, insofern ist uint8_t allemal sinnvoller.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.