Forum: Compiler & IDEs #include <avr/io.h>


von Dominik F. (Firma: non) (sieds)


Angehängte Dateien:

Lesenswert?

Hallo,

wollte heute mit dem hier im Forum angebotenem GCC Tutorial mich in C 
einarbeiten, habe aber gleich zu Beginn schon ein wahrscheinlich 
lächerliches Problem.

Ich verwende einen ATmega8 was laut Tutorial kein Problem machen sollte.

//#ifndef F_CPU
/* Definiere F_CPU, wenn F_CPU nicht bereits vorher definiert
   (z.&nbsp;B. durch Übergabe als Parameter zum Compiler innerhalb
   des Makefiles). Zusätzlich Ausgabe einer Warnung, die auf die
   "nachträgliche" Definition hinweist */
//#warning "F_CPU war noch nicht definiert, wird nun mit "2MHz intern 
definiert"
//#define F_CPU 2000000UL
//#endif
#include <avr/io.h>
#include <util/delay.h>

int main (void) {

   DDRD  = 0xff;
   PORTD = 0xff;

   while(1) {  //Endlosschleife
     PORTD |= (1 << PD5);
   _delay_ms(250);
   PORTD &= ~(1 << PD5);
   _delay_ms(250);
   }

   /* wird nie erreicht */
   return 0;
}

Mit DDRD schalte ich den Port auf Ausgang und mit PORTD schalte alle 
aktiv.
Wenn ich dann die Simulation starte funkt das aber nicht so wie 
erwartet. (siehe screen1.jpg)

Wenn ich dann die Adressen in "io90pwm2b.h" anpasse (siehe screen2.jpg) 
funkt es.

Muss ich das jetzt alles händisch anpassen,
oder habe ich eine falsch "include" Datei
oder muss ich im code noch wo vermerken das ich einen atmega8 verwende

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Haben wir schon wieder April?

Wenn du einen ATMega8 verwendest, dann kannst du natürlich nicht das 
include-File vom AT90PWM2B verwenden.

von test (Gast)


Lesenswert?

Hast du unter Project -> Configuration -> Device auch den atmega8 
eingestellt? Davon hängt am Ende ab welchen Header er einbindet.

von Dominik F. (Firma: non) (sieds)


Lesenswert?

Danke test, das war es.

So etwas hab ich mir vorgestellt, aber halt leider nicht gefunden.

von Simon K. (simon) Benutzerseite


Lesenswert?

Der Threadtitel ist natürlich extremst gut gewählt! ;-)

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.