PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Process Exit Code :1



Fielmann
11.12.2006, 14:20
Hallo,
ich bin im programmieren allgemein ein blutiger Anfänger, möchte aber trotzdem meinen Atmega8 Prozessor zum laufen bekommen. Ich benutze Programmers Notpad und bekomme beim versuch mein programm zu komilieren immer die untenstehende Fehlermeldung.Vielleicht kann mir jemand sagen , was ich falsch mache.
Danke

mein Programm:

#include <math.h>
#include <avr/delay.h>
#define F-CPu 7372800
#define pi 3.141592654

int main()
{
int i,t=0;
float Schritte, Schrittwinkel, Frequenz, Spannung;
float T, Const , Zeit,T2,Zeit2,Zeithilf;
double Diff,Diff2,Grad;
double Schrittgr,a,Gradref;
Frequenz = 0.1;
Schrittwinkel =1.8;
T = 1/ Frequenz;
T2 = T/2;
T = T/4;
T = T/90;
Grad = 360;
Gradref = Grad / 230;
Gradref = Gradref * Spannung;
Schritte = Gradref / Schrittwinkel;
Schrittgr = 1/Schritte;
Const = Schrittgr;
DDRB= (1<<DDB0) | (1<<DDB1) | (1<<DDB2) | (1<<DDB3);
while (t<=50)
{

while (i< Schritte-1)
{
i++;
a = asin(Schrittgr);
a = a * (180/pi);
PORTB |= (1<<PB0);
PORTB &=~ (1<<PB0);
Schrittgr = Schrittgr + Const;
Zeit = (T * a);
Diff = Zeit - Diff;
Diff = Diff * 1000;
delay_ms(Diff);
Zeit2 = Zeit;
Diff = Zeit;
}
Zeithilf = Zeit2;
PORTB |= (1<<PB1);
PORTB &= (1<<PB1);
Schrittgr = Schrittgr - Const;
i--;
while (i<=0)
{
Schrittgr = Schrittgr - Const;
a = asin (Schrittgr);
a = a * (180/pi);
PORTB |= (1<<PB0);
PORTB &=~ (1<<PB0);
Zeit2 = T2 - ( T *a);
Diff2 = Zeit2 - Zeithilf;
Diff = Diff * 1000;
delay_ms(Diff2);
Zeithilf = Zeit2;
i--;
}
PORTB |= (1<<PB2);
PORTB &= (1<<PB2);
t++}

}

Meine Fehlermeldung:

> "E:\Programme\Winavr\bin\avr-gcc.exe" -mmcu=atmega8-0"T:\STUD\programmieren\Fertig\11.12.06\AVR\AVRneu2"-o"T:\STUD\programmieren\Fertig\11.12.06\AVR\AVRneu2. o"
avr-gcc.exe: no input files

> Process Exit Code: 1
> Time Taken: 00:00

EDH
11.12.2006, 14:42
das sieht so aus, als hättest du beim compileraufruf was verpfuscht

SprinterSB
11.12.2006, 14:46
Die Meldung sagt: Du hast keine Eingabe-Dateien (das, was avr-gcc compileren soll) angegeben.

Da du den exit-Code kennst, ist das Problem wahrscheinlich in deinem Makefile?

Fielmann
11.12.2006, 15:11
Ich hab jetzt meine Eingaben in der Makefile geändert.

Meine neue Fehlermeldung lautet:

make.exe: *** No rule to make target `obj/main.o', needed by `AVRneu2.elf'. Stop.

> Process Exit Code: 2
> Time Taken: 00:00

Ich weiss leider immer noch nicht, was ich weiter machen soll.
Danke für eure Hilfe.

ogni42
11.12.2006, 15:14
Dann poste doch mal das Makefile

Fielmann
11.12.2006, 15:26
Ich habe im Makefilegenerator den Namen geändert und den Prozessor angegeben

uwegw
11.12.2006, 15:51
in weclher Datei steht dein Hauptprogramm (Name, Verzeichnis)? Was befindet sich im Unterordner obj?

Versuch mal TARGET = main


Wieso C++? Reicht C nicht?


Pack den Programmtext in main.c
Ändere das makefile auf

# Target file name (without extension).
TARGET = main

# Object files directory
OBJDIR = obj

# List C source files here. (C dependencies are automatically generated.)
SRC = $(TARGET).c

# List C++ source files here. (C dependencies are automatically generated.)
CPPSRC =

Wenn du dann noch die Sytax-und Schreibfehler im Programm entfernst, kompiliert mein avr-gcc 3.4.5 ohne zu meckern.

Fielmann
11.12.2006, 18:37
Danke für Eure Hilfe,
ich glaub, dass es geklappt hat.