Forum: Mikrocontroller und Digitale Elektronik Programmfehler LCD-Sonderzeichenproblem


von Thomas E. (feldweg)


Angehängte Dateien:

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

von stepp64 (Gast)


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

von Thomas E. (feldweg)


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

von Thomas E. (feldweg)


Lesenswert?

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

von spess53 (Gast)


Angehängte Dateien:

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

von Thomas E. (feldweg)


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

von spess53 (Gast)


Angehängte Dateien:

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

von Thomas E. (feldweg)


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

von feldweg (Gast)


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

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
Noch kein Account? Hier anmelden.