Forum: Compiler & IDEs AVR - GCC tut nicht (Eclipse Kepler, Linux)


von Günther S. (schwendi)


Lesenswert?

Guten Abend!
Ich bin gerade dabei Die Programmierung von AVRs mit C zu erlernen.
Um meine Eclipse Installation zu testen habe ich ein einfaches  Programm 
geschrieben welches allerdings, unter Eclipse compiliert, nicht 
funktioniert.
Anstatt dass die 8 LEDs auf PortD abwechselnd blinken, leuchten alle 
LEDs stabil
CPU :Atmega8
seriell auf den Chip gebruzzelt mit Pollin Board 2.01 und avrdude
1
#include <avr/io.h>
2
3
int main(void) {
4
  DDRD = 0xFF;
5
  while(1) {
6
    PORTD = 0x55;
7
    _delay_ms(1000);
8
    PORTD = 0xAA;
9
    _delay_ms(1000);
10
11
  }
12
}

Das gleiche Programm unter Wine mit MikroC Testversion compiliert tut 
was es soll.

Ich verstehe es einfach nicht.
Bitte um Hilfe
Günther

von Patrick D. (oldbug) Benutzerseite


Lesenswert?

Das ist nicht in zwei oder drei Sätzen erklärt.
Am Besten arbeitest Du mal das AVR-GCC Tutorial durch!

von Günther S. (schwendi)


Lesenswert?

Danke für die schnelle Antwort....
Nun ja, irgend ein Hinweis? Nur um meinen jugendlichen Eifer zu bremsen 
.. ;)
Ist mein Code nicht richtig für den AVR-GCC?

Das AVR GCC Tut fange ich gerade an durchzuarbeiten

von Dugenburt (Gast)


Lesenswert?

Wo ist denn die <util/delay.h>?

von Günther S. (schwendi)


Lesenswert?

Ups, die 'include habe ich vergessen im Post reinzuschreiben.
Ich verwende im Programm allerdings

#include <avr/delay.h>

sollte das falsch sein? Dann wundert mich das eclipse keine 
Fehlermeldung macht

von Ein Gast (Gast)


Lesenswert?

Die delay-Funktionen brauchen eine #define F_CPU um zu funktionieren, 
gibts eine Compilerwarnung diesbezüglich?

von Günther S. (schwendi)


Lesenswert?

Nein, das Programm kompiliert ohne Fehlermeldungen.

Ich fasse es nicht, es funktioniert!

Danke an Dugenburt für den Hinweis.

Es ist sowohl in avr als auch in util eine delay.h vorhanden.
Mit der aus util funktioniert alles wie gewollt

Danke an Alle für die Bemühungen!

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
Noch kein Account? Hier anmelden.