PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [gelöst]WINAVR Anfänger braucht Hilfe



Gohlan
28.08.2009, 18:39
Hallo erstmal,

WINAVR gibt eine Error Meldung raus die ich nicht deuten kann.
../Experiment.c:47: fatal error: opening dependency file dep/Experiment.o.d: No such file or directory

Wenn ihr wollt poste ich die .c File.
Ich krieg nicht raus was er meint. Währe für jede hilfe sehr dankbar.

Micha

Gohlan
28.08.2009, 19:13
Ich stell mal den Sourcecode rein, vlt hilft der weiter.



/************************************************** ***************/
/* */
/* */
/* Experiment.c */
/* AT90S2313 @ 3,6864 MHz */
/* */
/************************************************** ***************/

#include<stdint.h>
#include<avr/io.h>
#define F_CPU 3686400UL
#include<util/delay.h>

int main(void)
{
DDRB = (1 << DDB0) | (1 << DDB1) | (1 << DDB2) | (1 << DDB3) | (1 << DDB4);
DDRD = (1 << DDD4) | (1 << DDD5); //Ausgänge werden festgelegt

PORTB = (1<<DDB2); //Autoampel wird auf rot gesetzt
PORTD = (1<<DDD5) | (1<<DDD2); //Fußgängerampel wird rot, Pull-Up Widerstand
//wird am Eingangspin PD2 aktiviert
uint8_t i;

for (i=1; i!=1; i+0);
{
_delay_s(5);
PORTB |= (1<<DDB1); //Autoampel rt,ge
_delay_s(2);
PORTB = (1<<DDB0); //AA gn
_delay_s(20);
PORTB = (1<<DDB1); //AA ge
_delay_s(2);
PORTB = (1<<DDB2); //AA rt
_delay_s(2);

PORTB |= (1<<DDB4); //FA rt,ge
_delay_s(2);
PORTB |= (0<<DDB3) | (0<<DDB4);
PORTD |= (1<<DDD5); //FA gn
_delay_s(8);
PORTB |= (1<<DDB4) |(0<<DDB5); //FA ge
_delay_s(2);
PORTB |= (0<<DDB4);
PORTD |= (1<<DDD5); //FA rt
}

}

Besserwessi
28.08.2009, 20:24
Das Problem hat wohl nichts mit dem C.Code zu tun, sondern eher mit der Konfiguration oder Installation. Es fehlt den makefile die information wie die Teile voneinander abhängen.

Ein erster Versuch wäre ein make clean.

Gohlan
28.08.2009, 20:31
Hmmm
mit der Installation gabs auch schon Probleme, da ich noch Bloodsheet Dev C++ auf dem Rechner habe.
Der hatte auch zuerst die falsche make.exe benutzt, habe ich aber mit
set path= behoben.
Er benutzt schon die richtige make.exe
make clean habe ich probiert hat leider nichts geholfen.
Vlt liegts an VISTA(x64)?

Das immer ich diese fiesen Bugs habe nervt langsam.
](*,)

Gohlan
28.08.2009, 22:03
Puhhh ...... Problem gelöst. \:D/

War ein Problem mit WinAVR und Vista(x64).
Problemlösung:
http://www.mikrocontroller.net/topic/61716

So ein Fehler als Anfänger zu haben ist echt toll. Gott sei Dank gibt es Foren, ohne die würde ich noch in zwei Jahren an dem Problem sitzen. [-o<

An alle die das gleiche Problem haben hier ist die Seite(eng.) wo man die öminöse Datei runterladen kann.
http://www.madwizard.org/electronics/articles/winavrvista

cu Micha

Bongo1st
10.09.2009, 19:20
Hallo Miteinander,

habe da ein kleines Problem mit dem makefle, bekomme immer eine Fehlermeldung.

> "make.exe" all

-------- begin --------
avr-gcc (WinAVR 20090313) 4.3.2
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: main.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=3686400UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=main.lst -std=gnu99 -MD -MP -MF .dep/main.o.d main.c -o main.o
main.c:6: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'main'
make.exe: *** [main.o] Error 1

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

#include <avr/io.h>


void delay(unsigned int ms);

Void main (void)
{
//PORTB Ausgang
DDRB = 0XFF;
while (1)
{
//PORTB ein
PORTB |=1;

delay(500);

//PORTB aus
PORTB &=0;

delay(500);
}
return 1;
}

void delay(unsigned int ms)
{
unsigned int zaehler;

while (ms)
{
zaehler = 3000;

while (zaehler)
{
asm volatile ("nop");
zaehler--;
}
ms--;
}
}

cmock
10.09.2009, 20:39
das "Void" vor "main" gehört KLEINgeschrieben...