www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90S1200: Alternative zu LPM?


Autor: Uwe Naumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
einzige Chance: ab mit den Texten ins EEPROM - ist aber auch nur 64byte
gross.

Autor: Uwe Naumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie kann ich die dann auslesen?

Die 64 Byte würden mir reichen.

Gruß Uwe

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
solange dauerts gar nicht, das schafft man mitunter schon beim 1.Mal :-)

Autor: remo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> - Nur das erste Byte im EEPROM ist betroffen
nein

> - Beim reinen lesen des EEPROM passsiert nichts.
nein

Hab ich alles schon probiert.


Peter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kann ich bestätigen, ohne Spannungsüberwachung/rechtzeitigem reset wird
das nichts.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Uwe Naumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für alle Antworten. Mittlerweile bin ich auch wegen des
16Bit-Timers auf den (auch noch vorhandenen) AT90S2313 umgestiegen.

Gruß Uwe

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.