Forum: Mikrocontroller und Digitale Elektronik EA eDIPTFT70-A: Bild über serielle Schnittst.: Verständnisprobleme


von Martin R. (mme)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe ein TFT EA eDIPTFT70-A und benutze es schon recht lange. Bei 
dem TFT gibt es die Möglichkeit, Bilder über die serielle Schnittstelle 
an das TFT zu übertragen und dann anzuzeigen. Hier habe ich etwas 
Verständnisschwierigkeiten:

Laut Datenblatt ist der Befehl hierbei wie folgt:
ESC | U | L | xx1 |yy1 | G16-Bilddaten

Per Protokoll muß zuvor "DC1" und die Länge gesendet werden. Am Ende des 
Protokolls noch BCC.

Die Länge ist eigentlich nur 1 Byte, dann kann es eigentlich nicht die 
Länge inkl. der G16-Daten sein (sonst wären es ja nur Mini-Bilder). Und 
muß BCC nach den Bilddaten kommen oder zuvor?

Leider habe ich keinen Beispiel-Quellcode in C gefunden.

Gruß
Martin

von oszi40 (Gast)


Lesenswert?

Ich würde erst mal testen ob diese Schnittstelle überhaupt funktioniert 
mit anderen Befehlen und später einen Hexadump ansehen.

von Martin R. (mme)


Lesenswert?

Die Schnittstelle funktioniert, ich betreibe ja das TFT bisher auch über 
die Schnittstelle. Nur bisher wird ein im TFT gespeichertes Bild 
angezeigt. Ich möchte aber zukünftig auch welche anzeigen, die über die 
Schnittstelle gesendet werden.

von McMix (Gast)


Lesenswert?

Hast du mal hier geschaut:
Beitrag "G16-Format: Wandlung in BMP?"
Da geht es um ein ähnliches Thema, mit Erklärung des G16 Formats.

von Jens M. (schuchkleisser)


Lesenswert?

Das Beispiel im DB ist doch klar?
DC1 len Daten bcc
Also len als Komplettlänge über alle Daten nach len bis vor bcc, bcc 
ganz am Ende.

Warum braucht man da Code? Das Diagramm erkärt doch alles...

von Martin R. (mme)


Angehängte Dateien:

Lesenswert?

Aber LEN ist nur 1 Byte. Dann sind nur relativ kleine Bilddaten möglich.
Oder kann man ein komplettes Protokoll auf mehrere 
Protokoll-Einzelstücke aufteilen? Falls ja, wie?

von Martin R. (mme)


Lesenswert?

Nachtrag:
Habe folgendes im Datenblatt gefunden:

"Die Anzahl (len) der Rohdaten pro Paket kann max. 255 Byte betragen.
Befehle die größer als 255 Byte (z.B. Bild laden ESC UL ...) müssen auf
mehrere Pakete aufgeteilt werden. "

Aber wie weiß das Display, daß noch weitere Daten kommen und die 
Bilddaten am Ende alle gesendet wurden?

von Jens M. (schuchkleisser)


Lesenswert?

Auch das ist klar erklärt:
*** Zitat:
Die Anzahl (len) der Rohdaten pro Paket kann max. 255 Byte betragen.
Befehle die größer als 255 Byte (z.B. Bild laden ESC UL ...) müssen auf
mehrere Pakete aufgeteilt werden. Alle Daten in den Paketen werden
nach korrektem Empfang von EA eDIP wieder zusammengefügt.
*** Zitatende

Also einfach das 1kb große G16-Bild in 4 Blocks a 255Byte verpacken, 
jeweils ein dc1 len xxx bcc drumzu und los.

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.