Ich habe gerade durch Zufall bemerkt dass ich bei meinem LCD Display ab Cursorposition 188 ein Problem habe. Das heißt 4.Zeile erste Cursor Position.
Denn schreibe ich dort etwas hin kommt es bei 188 und 189 noch an aber ab 190 schreibt er die Zeichen dann wo ganz anders hin. Mal hier mal dort.
Zuerst war ich mir sicher scheiße dein Display ist wieder kaputt, aber als ich eben eine wenig mit dem IO-Warrior Testprogramm von einem ForumUser hier versucht habe mal die Ports einwenig auf 1 und 0 zu steuern hat das nicht richtig funktioniert.
Das würde ja meiner Meinung nach bedeuten der Warrior wäre kaputt.
Jetzt habe ich das Display mal abgesteckt und evrola alle Pins lassen sich schön von 1 nach 0 und umgekehrt navigieren.
So ich würde mal sagen dann doch etwas mit dem Display oder?
Aber was glaubt ihr es ist nur wieder eine schlechte lötstelle? ABer würde dann nicht immer scheiße kommen. Oder ist es heute beim Neulöten einfach zu heiß geworden?
IO-Warrior Problem Port Write Problem
Moderator: Guido Körber
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
ich meinte damit meine Programmierung mit Startposition setzen dafür sende ich ja
ReportID 5
byte0 : 1
byte1 : 128 + adresse
Das heißt für mich also 128 ist erste Zeile erstes Zeichen ...
Folglich wäre 188 normalerweise 4. Zeile erstes Zeichen
Hab nochmal getestet ist recht lustig wenn ich mit dem Testprogramm nicht ab Pos 60 schreibe sondner 84 ... also eigenltich nicht mehr richtig komme ich plötzlich richtig in Zeile 4 ... ich Teste noch ein wenig ist schwer zu beschreiben
Hmm komisch ich scheine wohl einen kapitalen Display schaden zu haben ... das macht was es will ... mehr oder weniger :-(
So ich glaube der kommt mit seiner internen Speicheradressierung oder so nicht mehr richtig zurecht. Denn nach der 4. Zeile 3. Zeichen sollte 4. Zeile 4. Zeichen kommen ;-) jedoch legt er mir dann die folgenden Zeichen in die 3. Zeile Zeichen 20 und dann kommt plötzlich 2. Zeile 1. Zeichen und von da an belegt er dann wieder 2. Zeile ... hmm komisch
Wenn ich jetz als Anfangspunkt im Testprogramm 84 einstelle. Sprich ich würde senden
ReportID 5
Byte0: 1
Byte1: 128 + 84
und würde dann sagen wir eine 40 Zeichen lange Zeichenkette reinschreiben dann beginnt in der 4. Zeile 1. Zeichen schreibt schön die Zeile voll und macht dann ganz normal in der ersten Zeile weiter
ReportID 5
byte0 : 1
byte1 : 128 + adresse
Das heißt für mich also 128 ist erste Zeile erstes Zeichen ...
Folglich wäre 188 normalerweise 4. Zeile erstes Zeichen
Hab nochmal getestet ist recht lustig wenn ich mit dem Testprogramm nicht ab Pos 60 schreibe sondner 84 ... also eigenltich nicht mehr richtig komme ich plötzlich richtig in Zeile 4 ... ich Teste noch ein wenig ist schwer zu beschreiben
Hmm komisch ich scheine wohl einen kapitalen Display schaden zu haben ... das macht was es will ... mehr oder weniger :-(
So ich glaube der kommt mit seiner internen Speicheradressierung oder so nicht mehr richtig zurecht. Denn nach der 4. Zeile 3. Zeichen sollte 4. Zeile 4. Zeichen kommen ;-) jedoch legt er mir dann die folgenden Zeichen in die 3. Zeile Zeichen 20 und dann kommt plötzlich 2. Zeile 1. Zeichen und von da an belegt er dann wieder 2. Zeile ... hmm komisch
Wenn ich jetz als Anfangspunkt im Testprogramm 84 einstelle. Sprich ich würde senden
ReportID 5
Byte0: 1
Byte1: 128 + 84
und würde dann sagen wir eine 40 Zeichen lange Zeichenkette reinschreiben dann beginnt in der 4. Zeile 1. Zeichen schreibt schön die Zeile voll und macht dann ganz normal in der ersten Zeile weiter
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
nö du verstehst mich da glaub ich falsch ...
ich weiß ja das der nicht linear organisiert ist heißt
0-20 1.Zeile
20-40 3.Zeile
40-60 2.Zeile
60-80 4.Zeile
Nur richtig komisch wirds wenn ich jetzt mit LCD Hype was ins Display schreibe dann funktionierts ohne Wenn und Aber einfach so ...
Ich bin jetz richtig ratlos ...
So weiß jetz warums auf die eine weiße Funktioniert und auf manch andere nicht.
Wenn man ihm immer die vollen 80 Zeichen schicken würde und beginnend bei Zeichen 1 anfängt ihm die zu senden macht er alles richtig, weil er dann den Speicher und soweiter selber intern Hochzählt, dann funktionierts auch.
Wenn ich dem Display sage schreibe mal 10 Zeichen in die 4. Zeile treten fehler auf. Weil der net rafft dass 60 der Anfang der 4. Zeile is sondern er glaubt dass der Anfang der 4. Zeile 84 ist. WArum weiß ich nicht
Noch weniger weiß ich warums funktioniert wenn er intern selber alles regeln darf :-/
ich weiß ja das der nicht linear organisiert ist heißt
0-20 1.Zeile
20-40 3.Zeile
40-60 2.Zeile
60-80 4.Zeile
Nur richtig komisch wirds wenn ich jetzt mit LCD Hype was ins Display schreibe dann funktionierts ohne Wenn und Aber einfach so ...
Ich bin jetz richtig ratlos ...
So weiß jetz warums auf die eine weiße Funktioniert und auf manch andere nicht.
Wenn man ihm immer die vollen 80 Zeichen schicken würde und beginnend bei Zeichen 1 anfängt ihm die zu senden macht er alles richtig, weil er dann den Speicher und soweiter selber intern Hochzählt, dann funktionierts auch.
Wenn ich dem Display sage schreibe mal 10 Zeichen in die 4. Zeile treten fehler auf. Weil der net rafft dass 60 der Anfang der 4. Zeile is sondern er glaubt dass der Anfang der 4. Zeile 84 ist. WArum weiß ich nicht
Noch weniger weiß ich warums funktioniert wenn er intern selber alles regeln darf :-/
-
- Site Admin
- Posts: 2878
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact:
Vielen Dank Guido hab mir gerade das Datenblatt nocheinmal ganz genau angesehen von meinen LCD's obwohl laut Datenblatt mein LCD das mit dem HD44780 Controller ist weicht die Adressierung des Speichers total vom normal üblichen ab.
Sind ganz krumme Werte aber jetzt funktionierts!
Ich sage dir meinen Dank
Ich korrigiere mich hiermit noch einmal selbst. Ich weiß zwar nicht warum aber ich bin 1 Jahr in Irrglauben herumgelaufen. Die Adressierung eines HD44780 ist immer so wie ich sie jetzt vorgefunden habe. WArum ich das letzte Jahr damit zurecht gekommen bin weiß ich nicht ;-)
Hier nochmal die Richtige Adressierung eines orginalen HD44780 (4x20 Zeichen)
Die 1. und 2. Zeile gelten auch für ein 2x20 Zeichen Display
Controllers in (DEZ | HEX | Binär)
1. Zeile
000 - 019 | 0x00 - 0x13 | 00000000 - 00010011
2. Zeile
064 - 083 | 0x40 - 0x53 | 01000000 - 01010011
3. Zeile
020 - 039 | 0x14 - 0x27 | 00010100 - 00100111
4. Zeile
084 - 103 | 0x54 - 0x67 | 01010100 - 01100111
Sind ganz krumme Werte aber jetzt funktionierts!
Ich sage dir meinen Dank
Ich korrigiere mich hiermit noch einmal selbst. Ich weiß zwar nicht warum aber ich bin 1 Jahr in Irrglauben herumgelaufen. Die Adressierung eines HD44780 ist immer so wie ich sie jetzt vorgefunden habe. WArum ich das letzte Jahr damit zurecht gekommen bin weiß ich nicht ;-)
Hier nochmal die Richtige Adressierung eines orginalen HD44780 (4x20 Zeichen)
Die 1. und 2. Zeile gelten auch für ein 2x20 Zeichen Display
Controllers in (DEZ | HEX | Binär)
1. Zeile
000 - 019 | 0x00 - 0x13 | 00000000 - 00010011
2. Zeile
064 - 083 | 0x40 - 0x53 | 01000000 - 01010011
3. Zeile
020 - 039 | 0x14 - 0x27 | 00010100 - 00100111
4. Zeile
084 - 103 | 0x54 - 0x67 | 01010100 - 01100111