Gast
#763902
Hallo allerseits. Wir haben ein Problem den ATmega128 ans laufen zu bekommen. Hier auf der Seite bin ich auf das M103 Problem gestoßen. Also haben wir die Fusebits ausgelesen. Der Wert war "1E9702" was laut Datenblatt korrekt ist (S.289). Was mich nur ein bißchen verwundert, ist dass das Ding fabrikneu ist und laut der Beschreibung hier auf der Seite sind neue ATmega128 mit "1E9701" programmiert, also dem 103er Typ. Dies nur als Vorgeschichte... Jetzt hatten wir einige Probleme mit dem Programm und ich weiß nicht, ob dsa grundsätzlisch was mit dem 103er Problem zu tun hat. Irgendwie hat er Probleme, aus manchen Funktionen heraus zu kommen. Das korriose ist, dass das Prog vorher auf einem ATmega16 und auf einem ATmega32 lief. Mein Kollege schrieb: "Ich hab den 128 jetzt ausgiebig getestet und habe auch das Problem mehr oder weniger erkannt. Leider hab ich keinen Plan, wie es zu lösen ist. Die if-Anweisungen mit den verschiedenen Datentypen sind eigentlich kein Problem. Das Problem ist, dass danach die returns nicht mehr klappen, weil der Compiler irgendwie den Stack kaputt optimiert. Ich hab das teilweise durch Ausschalten der Compileroptimierung und Verwendung von goto statt return umgehen können. Eine Lösung um das ganze Programm wieder in Betrieb zu nehmen dürfte das wohl kaum sein?!" Werde schnellstmöglich den Code posten. Vielen Dank an alle die helfen.. Gruß