Hallo, ich nutze obigen Controller und speichere einige Texte via: Meldung1: .DB "Test" Diese Texte würde ich gern auf dem LCD ausgeben. Nun gibt es ja auf dem AT90S1200 keinen LPM-Befehl. Wie könnte man das elegant lösen und die Texte byteweise lesen? Hat jemand ne Idee? Oder komme ich doch nicht ums byteweise Aufrufen der Ausgaberoutinen herum? Gruß Uwe
einzige Chance: ab mit den Texten ins EEPROM - ist aber auch nur 64byte gross.
Und wie kann ich die dann auslesen? Die 64 Byte würden mir reichen. Gruß Uwe
tja, so wie man den EEPROM eben ausliest, EEADR mit Startadresse laden, eere setzen, Daten abholen. An das Ende der Strings sinnvollerweise eine 0 anhängen, damit kannst du das Auslesen in einer Schleife erledigen, ohne die Anzahl der zu lesenden Bytes zu kennen.
Dann brauchst Du aber noch einen externen Reset-IC für die Unterspannungserkennung. Ansonsten ist nämlich nach 10-mal An- und Ausschalten nur noch Müll in dem EEPROM. Peter
solange dauerts gar nicht, das schafft man mitunter schon beim 1.Mal :-)
Das EEPROM Problem beim 1200 kenn ich so: - Nur das erste Byte im EEPROM ist betroffen - Nur wenn beim schreiben der Saft ausgeht, kann Müll drin stehn. - Beim reinen lesen des EEPROM passsiert nichts. Richtig oder falsch? @Uwe: Ich vermute dein eigentliches Problem lässt sich nicht lösen, da du ja einen Speicherort brauchst, wo du den ganzen String ablegen kannst. Da es kein Ram im 1200er gibt sieht das nicht gut aus. einzige Chance: Du hast genügend von den 32 Registern frei und der String passt da rein. Dann kannst du den String Zeichenweise in fortlaufende Register laden und so den String im quasi Ram halten. ciao Remo
> - Nur das erste Byte im EEPROM ist betroffen nein > - Beim reinen lesen des EEPROM passsiert nichts. nein Hab ich alles schon probiert. Peter
kann ich bestätigen, ohne Spannungsüberwachung/rechtzeitigem reset wird das nichts.
Eine Möglichkeit wäre, die Daten im EEPROM mit Fehlerkorrektur (Hamming-Code) abzulegen und dann zu hoffen, daß die Einschaltphasen immer lang genug sind, um den Reparaturvorgang abzuschließen. Allerdings ist der AT90S1200 eh nicht mehr für Neuentwicklung empfohlen. Ehe man da also noch viel Gehirnschmalz reininvestiert, sollte man besser auf den ATTiny26 (leider nicht pinkompatibel) oder ATMega8 wechseln. Peter
Danke für alle Antworten. Mittlerweile bin ich auch wegen des 16Bit-Timers auf den (auch noch vorhandenen) AT90S2313 umgestiegen. Gruß Uwe
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.