www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmfehler LCD-Sonderzeichenproblem


Autor: Thomas Eichstetter (feldweg)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag erfahrene µC-Fans..

LCD:                   EA W162B-NBLW
µC:                    ATMEGA8
Programmierstation:    STK500
Entwicklungsumgebung:  AVR Studio 4.13

ich habe ein Problem mit genau einem Sonderzeichen... genauer gesagt das 
dritte, welches ich ausgeben möchte (Programmiert auf ASCII 0x03).

Ich weis nicht ob ihr den kleinen Bausatzroboter ASURO kennt, aber da 
ist ein ein Beispiel im Erweiterungsbuch, wie man ein Gesicht auf einem 
Display erzeugt. Ich wollte schließlich nach der super Einführung auf 
dieser Website das Gesicht in Assemblersprache programmieren.

So sollte es sein:
http://home.vrweb.de/~alfred.eichstetter/asuro-gesicht1.jpg

Aber es ist so:
http://home.vrweb.de/~alfred.eichstetter/asuro-gesicht2.jpg

Ich sitz jetzt scho mehrere Stunden dran und suche Fehler, hab versucht 
alle bugs zu zertreten aber ich finds einfach nicht... de blöden drei 
Punkte...
Könnt ihr mir bidde helfen?

Mfg
Thomas Eichstetter

Autor: stepp64 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dein sonder3 String stimmt zumindest nicht mit dem angezeigten überein.

Dein String lautet:

sonder3:
           .db 0x20,0x20,0x02,0x01,0x20,0x20,0x20,0x20,0


Ich würde aber denken, dass das so heisen muss:

sonder3:
           .db 0x20,0x20,0x20,0x02,0x01,0x20,0x20,0x20,0

Probier das mal.

Sven

Autor: Thomas Eichstetter (feldweg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke für die Rückantwort

Ich hatte den Code zuerst auch so aber das hatte dann folgendes Bild 
ergeben:
http://home.vrweb.de/~alfred.eichstetter/asuro-gesicht3.jpg

Anscheinend Zeilenverschiebung...

Ich habe auch schon das Zeichen in ASCII-Code 0x06 gespeichert mit dem 
selben Resultat.
Um auch auszuschließen, dass es am Display liegt hab ich ein normales, 
im ASCII-Code enthaltenes A reingeschrieben. Hat funtioniert....
aber immer wenn ich in diesen Teil des Displays ein Sonderzeichen 
schreiben dann klappts nicht.

RAM im LCD defekt?

Mfg

Autor: Thomas Eichstetter (feldweg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eine pause ist auch nicht die lösung, ist dieses problem schon bekannt?

Autor: spess53 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

In deinem Code kann ich erstmal keinen offensichtlichen Fehler 
entdecken.

Aber, warum lädst du den CG-Ram nicht in einem Ritt. Ich habe dir mal 
ein Codebeispiel angehängt.

MfG Spess

Autor: Thomas Eichstetter (feldweg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Spess

Ganz einfach, weil ich das nicht gewusst habe, dass es kürzer geht.
Jetzt kommt aber die Frage auf, was für Dateien ich noch einbinden muss, 
damit dies funktioniert...
alleine schon wegen  "call wrcmd"
Ein mini-lauffähiges Programm wär ne geniale Sache. In google finde ich 
lauter Schrott dazu.

Entschuldigt bitte wenn ich lächerliche Fragen stelle. Ich will des aber 
können, kanns aber leider noch nicht.

Mfg

Autor: spess53 (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ich habe dir mal die ganzen Routinen angehängt (ausnahmsweise halbwegs 
kommentiert). Das ganze ist für 8Bit-Mode. Die Ports sind auf mein 
letztes Projekt mit ATMega1281 eingestellt (die Vereinbarungen am 
Anfang).Sind noch ein paar Karteileichen drin, die ich gar nicht 
benutze.
Sieh es dir erst mal an.

MfG Spess

Autor: Thomas Eichstetter (feldweg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich danke dir, werd mich die nächsten Tage durch den Code 
durchwurschteln.
Wenns dennoch nicht kappen würde dann kanns nur am LCD liegen...
Also vielen Danke erst mal
Mfg

Autor: feldweg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe heute folgendes gemacht:

Hab mir gedacht ich steig auf linux komplett um vom programmieren her.
Dann habe ich mit avrdude und dem super Javaprogramm "AVR8 Burn-O-Mat" 
die Datei die nicht funktioniert hat rübergeflasht und dann hat mich das 
Gesicht angestrahlt ohne Fehler... mit dem selben Code wie beim "AVR 
Studio"
daraus kann ich nur zwei Möglichkeiten schließen:
-> Mein AVR-Studio ist nicht ordnungsgemäß installiert
-> Eventuell kleiner Bug im AVR-Studio welches ich geladen habe (eher 
unwahrscheinlich da 1000de Menschen dieses Programm benutzten)

ich werde jetzt noch eine andere Version von AVR-Studio ausprobieren und 
nochmal posten, damit dieses Thema abgeschlossen ist

Mfg

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.