EA FAQs

Manchmal muss ich die Befehle doppelt senden. Warum ist das so?

Manchmal muss ich die Befehle doppelt senden. Warum ist das so?

Frage:
Ich habe ein kleines Problem mit Ihrem eDIPTFT43-A LCD-Modul. Ich habe das Display seriell angeschlossen und kann auch mit dem Modul kommunizieren.
Ich habe allerdings das Problem, dass ich bei manchen Befehlen diese zweimal schicken muss, bevor sie ausgeführt werden.
Z. B. wenn ich ein Makro wechseln will. Z. B. mit #MN,1.
Wenn ich diesen Befehl nur einmal schicke, dann ist es so, als wenn das Display abgestürzt wäre. Ich empfange allerdings auf der seriellen Schnittstelle ein ACK 0x06. Das Display bleibt allerdings im vorherigen Makro stehen, und alle Touchbereiche funktionieren nicht mehr.
Wenn ich allerdings den #MN,1 mit einem Delay von 1 ms noch einmal schicke, dann klappt alles so wie es sollte.
Man muss immer schnell Befehle hintereinander schicken, bevor sie ausgeführt werden.
Wäre super, wenn Sie sich zu dem Problem äußern könnten!

Antwort:
Wenn Sie die Befehle im ASCII-Modus senden, benötigt auch der letzte Parameter ein Trennzeichen (z. B. das Komma); siehe Datenblatt Seite 12.
Wenn Sie dann den Befehl nochmal senden, so fungiert das „neue“ Zeichen '#' als Trennzeiche,n auf das das eDIP wartet.

Hinweis:
Das ACK bedeutet, dass das Paket richtig empfangen wurde; der Inhalt wird nicht analysiert.
Senden Sie
#MN1,
dann wird alles funktionieren. 

Warum ist das so?
Damit das Display weiß, dass das Kommando mit #MN1 beendet ist,
benötigt es ein Trennzeichen; der Befehl könnte ja schließlich auch #MN12 oder auch #MN123 lauten.

Weitere Informationen und Programmierhinweise finden sie auf unseren Seiten "Support" und "Datenblätter"