Hallo, habe mir als kleines Projekt mal eine kleine serielle Konsole aufm ATMega644P programmiert, die auch soweit ganz ordentlich funktioniert. Als Test habe ich dann mal eine Funktion geschrieben, welche über die Konsole einen Port schaltet. -led init: Port auf Ausgang setzen -led on: LEDs on -led off: LEDs off -led toggle: LEDs toggle Alles funktioniert auch klasse, aber wenn ich PORTA nutze, dann stürzt der Controller immer beim Kommando "PORTA = 0x00" bzw. "PORTA ^= 0xFF" ab. Und zwar reproduzierbar. Jedoch scheint das Kommando "PORTA = 0xFF" ohne Probleme zu funktionieren. Habe das ganze mit dem JTAGICE mkII bis zu dem Kommando zurückverfolgen können. Nehme ich statt PORTA nun einfach PORTB oder PORTC, so funktioniert alles einwandfrei. Nun meine Frage: Hat jemand dasselbe Problem schon einmal gehabt oder ist einfach mein Controller kaputt? Das Programm hab ich einfach mal als rar-Datei angehängt. Vielleicht hilft es ja. MfG Marius
Müsste eigentlich passen, wenn Atmel auf dem STK600 nicht groben Unfug getrieben hat. Ich mess das aber gleich nochmal nach. MfG Marius
Wenn ein Pin von PortA einen Schluss nach Vcc hat und somit die Speisung kurzschliesst...
Soo, habe jetzt zu Beginn meines Programms mal ein paar LED-Tests eingebaut. Diese Tests sind soweit in Ordnung gewesen. Ich bin jetzt echt verwirrt. Überall funktioniert es, nur in meinem gar nicht so komplexen led-Programm nicht. Ich habe einfach keine Erklärung für den Reset. Mit dem JTAGICE mkII kann ich das Programm so lange verfolgen, bis der Befehl st Z, r0 aufgerufen wird. In Z steht passend auch die Adresse von PORTA. Danach lande ich in einem undefinierten Speicherbereich. Von da aus läuft der Controller wohl dann durch bis er wieder 0x0000 erreicht. MfG Marius
Hi >In Z steht passend auch die Adresse von PORTA. Danach lande ich in einem >undefinierten Speicherbereich. Von da... Welche Adresse? Die IO-Adresse oder die Adresse von PortA im Speicherbereich? MfG Spess
Adresse war 0x02, wenn ich mich recht entsinne. Das müsste ja auch soweit passen. Im Simulator vom AVR Studio funktioniert das Programm ebenfalls einwandfrei. Deshalb schließe ich eigentlich einen Software-Fehler aus. MfG Marius EDIT: Mittlerweile hab ich das Programm auch auf dem Mega2560, der dem STK600 beilag, verifiziert. Ohne Probleme.
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.