Hallo! Ich habe mir ein neues Board mit einem Mega128 gemacht und wollte das gerade mal mit einem kleinen Testprogramm ausprobieren. Der yC lässt sich programmieren und mein Testprogramm startet auch. Ich habe ein paar leds an Port A angeschlossen. Diese Blinken 1x lang, d.h. das Programm startet 1x kurz, d.h. das Programm springt nach crash() Dann fängt es von vorne an, d.h. es kommt kein zweites kurzes Blinken. Das Programm stürzt also anscheinend beim Rücksprung aus crash() ab. Irgendwie habe ich ein Brett vorm Kopf. Hier nun das vollständige Programm, im Anhang ist noch mein Makefile. Darin ist vom Original allerdings kaum etwas geändert. Wäre schön, falls jemandem etwas einfällt. Danke, Grüße Tobi #include <avr/io.h> #include <stdint.h> #include <avr/delay.h> void crash(void) { PORTA = 0xFF; _delay_ms(100); _delay_ms(100); PORTA = 0x00; _delay_ms(100); _delay_ms(100); PORTA = 0xFF; } int main(void) { DDRA = 0xff; PORTA = 0xFF; _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); PORTA = 0x00; _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); _delay_ms(100); PORTA = 0xFF; crash(); PORTA = 0xFF; _delay_ms(100); _delay_ms(100); PORTA = 0x00; _delay_ms(100); _delay_ms(100); PORTA = 0xFF; }
Ähm, noch schräger ist: Wenn ich im Makefile OPT = 0 eintrage und den yC Programmiere, passiert gar nicht mehr. (?) Grüße Tobi
Mega103 Kompatibilitätsmode beim Mega128 auch ausgeschaltet ? Sonst läuft die Stack Initialisierung ins Leere.
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.