Hi Leute, ich versuche schon seit einiger Zeit das eDIP240-7 von ELectronic Assambly anzusteuern. Ich habe es schon geschaft im Terminal-Betrieb Zeichen und Wörter auszugeben, aber im normal Modus kommt kein Befehl an. Mir ist aufgefallen das im normal Betrieb nur ein Schwach erkennbarer Kontrast zwischen Hintergrung und Schrift vorhanden ist. Dagegen im Terminal Betrieb der Kontrast eindeutig zu erkennen ist. Kann es sein das das Display nicht richtig im Normalen Modus initialisiert wurde ? Oder vieleicht kann mir mal jemand einen Code von sich schicken ? MfG Basti.S
Anbei ist mein Code vielleicht hat jemand interresse ihn sich mal anzuschauen. MfG Basti.S
Was soll das '#', Befehle fangen mit ESC (0x1B) an. Auch geht strlen nicht, da Befehle 0-Bytes enthalten können. Abhilfe, lege die Befehle im Flash an und nimm sizeof. Und man muß erstmal prüfen, ob der Empfangspuffer groß genug für den nächsten Befehl ist. Peter
Danke erstmal für die schnelle Antwort, aber ich hab noch ein paar Fragen. Peter Dannegger schrieb: > Auch geht strlen nicht, da Befehle 0-Bytes enthalten können. > Abhilfe, lege die Befehle im Flash an und nimm sizeof. Was meinst du mit im Flash ablegen ? -> Als Variable ? Peter Dannegger schrieb: > Und man muß erstmal prüfen, ob der Empfangspuffer groß genug für den > nächsten Befehl ist. Wie überprüfe ich den Empfangspuffer ? Muss ich für den Normalen Betrieb des Displays noch ein paar Byts zur initsalisietung senden ?
>aber im normal Modus
Du meinst damit vermutlich das hinterlegte Protokoll, oder?
Mit der Raute hats Peterle recht, das ist dumm Zeuch - du mußt zwingend
0x1B senden.
strlen() zur Stringlängenermittlung hab ich auch verwendet (bei 160-7
touch, was an der Stelle aber das gleiche Display ist), bei mir ging's -
mit sizeof kann man keine Stringlänge ermitteln sondern nur die Größe
des Datentyps. Mein Display läuft via I2C, das Protokoll ist aber
dasselbe.
Peter Dannegger schrieb: > Und man muß erstmal prüfen, ob der Empfangspuffer groß genug für den > nächsten Befehl ist. Wie überprüfe ich den Empfangspuffer ? Den "Empfangspuffer?" Gibt's denn überhaupt einen? Da hab ich nie irgendwas irgendwie geprüft. Wohl aber den Sendepuff des Touchdisplays, der ist nach 32 Bytes voll.
Also bei mir sind öfters 0-Byte im Kommando:
1 | prog_uint8_t INIT[] = "\x1bTC\0" // text cursor off |
2 | "\x1b""DO\2" // rotate 180ø |
3 | "\x1b""FD\x8\x1" // display color |
4 | "\x1b""FZ\x8\x1" // text color |
5 | "\x1b""DL" // display clear |
6 | "\x1b""YZ\x0" // no delay |
7 | "\x1b""YH\x64" // light on |
8 | ;
|
Und gesendet wird dann mit:
1 | #define TFT_FKT(x) tft_wr( sizeof(x) - 1, x, 1 )
|
Kommandos sind ja oft konstant und dann geht sizeof. Peter
ok das mit der string Länge geht jetzt, aber nur im Terminal Modus. So bald ich in den EEPROM vom Display Makros, Button oder Bilder hinterlege. Und ihn dann wieder an die Schaltung hänge. Wird der Kontrast unscharf also die Weiße schrieft ist im Blauen hintergrung kaum noch zu erkennen. Und ich kann ihn nicht mehr ansprechen. In dem Mitgelieferten Kit zu Programmieren des Displays ist das nicht der Fall. Die befehle aufbereiten das der Display es versteht ist nicht das Problem, nur das Initaliesieren wenn der Display Daten auf dem EEPROM hat und nicht im Terminal modus arbeitet (Auslieferungszustand). Und nochmal danke für die Hilfe. Basti.S
> Wird der Kontrast unscharf >also die Weiße schrieft ist im Blauen hintergrung kaum noch zu erkennen. Du meinst die Schrift wird genauso diffus wie deine textuelle Darstellung des Problems hier in diesen Zeilen? Also... wenn die weiße Schrift zu verschwimmen beginnt dann schreibst du vermutlich die Register kaputt. Probier das mal in so ner Art Einzelschritt, vielleicht läßt sich das Problem einkreisen. Und an deiner Hardware liegt's nicht? Sicher? Ich hab die Makros nie benutzt, weiß aber, daß das 160x104 beim gleichen Kontrastwert wie bei meinem 128x64 (beide blau/weiß)ein erheblich schlechteres Bild erzeugte ("Geisterlinien"). Fertigungsstreuung?
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.