Forum: Compiler & IDEs eDIP 240-7 Problem


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Basti.S (Gast)


Lesenswert?

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

von Basti.S (Gast)


Angehängte Dateien:

Lesenswert?

Anbei ist mein Code vielleicht hat jemand interresse ihn sich mal 
anzuschauen.

MfG Basti.S

von Peter D. (peda)


Lesenswert?

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

von Basti.S (Gast)


Lesenswert?

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 ?

von Anette Schavan (Gast)


Lesenswert?

>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.

von Anette Schavan (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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

von basti.s (Gast)


Lesenswert?

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

von Yachtmeister MC (Gast)


Lesenswert?

> 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?

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]
  • [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.