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. 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
Haben wir schon wieder April? Wenn du einen ATMega8 verwendest, dann kannst du natürlich nicht das include-File vom AT90PWM2B verwenden.
Hast du unter Project -> Configuration -> Device auch den atmega8 eingestellt? Davon hängt am Ende ab welchen Header er einbindet.
Danke test, das war es. So etwas hab ich mir vorgestellt, aber halt leider nicht gefunden.
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.