Hallo zusammen, habe folgendes Problem: Programmiere einen Mega2561. Das Programm beschreibt u.a. das EEPROM. Nach bestimmten Codemodifizierungen (rund um die EEPROM-Routinen) startet das Programm nicht mehr 8definitiv ein Boot-Problem). Nehme ich die Änderungen zurück, ist alles wieder o.k. - der MC ist also hardwaretechnisch o.k.. Auch beobachte ich, dass der EEPROM - Inhalt durchgängig von xFF auf x00 verändert worden ist, obwohl ich einen solchen Befehl nicht programmiert hatte. Der Fehler trat definitiv dann auf, wenn ich die Sprungadresse "REPEAT:" (mit goto) in einer Function mit EEPROM Verarbeitung hatte (ja, ja, ich weiß, gotos sind out, aber ich wollte nur etwas austesten - keine Dauer Implementierung.) Nach Ausschalten der Optimierung lief das Programm übrigends einwandfrei .. Ohne tiefer nach Fehlern zu forschen, eine generelle Frage: Ist es möglich, durch falsch programmierte EEPROM Aufrufe sich die Fuses zu zerschießen ? Grenzen die Speicheradressen aneinander, oder sind sie gegeneinander geschützt ? Danke.
Hi, soweit mir bekannt, kann ein Mega/Tiny sich nicht selbst die Fuses verändern, das geht nur über einen externen Programmer ,ISP oder HV. Gruß Ralf
dreilira schrieb: > Hi, > soweit mir bekannt, kann ein Mega/Tiny sich nicht selbst die Fuses > verändern, das geht nur über einen externen Programmer ,ISP oder HV. > > Gruß > Ralf Was ist mit CKDIV8 ? Kann von außen und auch vom Programm gesetzt werden (wobei Porgramm vorrangig ist). Grüße
>Was ist mit CKDIV8 ? Kann von außen und auch vom Programm gesetzt werden >(wobei Porgramm vorrangig ist). Die Fuse CKDIV8 setzt nur das interne CLKPR – Clock Prescale Register. Dessen Inhalt kann später die Software verändern. Es ist aber nicht möglich, das die Software den Wert der CKDIV8 Fuse verändert! >The CKDIV8 Fuse determines the initial value of the CLKPS bits. If CKDIV8 >is unprogrammed, the CLKPS bits will be reset to “0000”. If CKDIV8 is >programmed, CLKPS bits are reset to “0011”, giving a division factor of 8 >at start up.
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.