Forum: Mikrocontroller und Digitale Elektronik Edip240-7 Touchscreen läuft nicht


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich muss für die Schule ein edip240-7 Touchscreen-Display programmieren. 
Ich verwende den LPC935 µC und programmiere es über I2C.
Bisher funktioniert es aber nicht wirklich. Erst einmal kam ich 
(zufällig und unbeabsichtigt) in den Terminalmodus, obwohl die Lötbrücke 
J2 nicht geschlossen war. Ich muss aber in den Grafikmodus, weil ich 
Touchtasten definieren möchte.
Ansonsten hat das Display nichts gemacht und ich weiß mir auch nicht zu 
helfen.
Gibt es vielleicht eine Art Initialisierung, die man beachten muss?
Ich wäre über Tipps und eventuelle Codebeispiele sehr dankbar.

von ..,- (Gast)


Lesenswert?

Bisschen wenig Informationen meiner Meinung nach.
Die Lötbrücke wirste schon schließen müssen, es sei denn du hast das 
SmartProtokoll schon implementiert.
Bezüglich der Ansteuerung findest du in der PDF schon reichlich 
Anhaltspunkte.

Grüße

von Stefan (Gast)


Lesenswert?

Ich will die Lötbrücke ja nicht schließen. Ich will aus dem 
Terminalmodus raus. Das Display ist von selbst in den Terminalmodus 
gesprungen und reagiert nur auf einen Befehl (Versionsnummer ausgeben). 
Alle anderen ignoriert es einfach.

von ..,- (Gast)


Lesenswert?

Vielleicht steh ich auch grad aufm Schlauch ...
Also wenn du den J2 Jumper nicht schließen willst/möchtest, dann geh ich 
davon aus, dass du das Smallprotokoll bereits auf deinem Controller 
implementiert hast ... korrekt?

von Stefan (Gast)


Lesenswert?

Ich weiß nicht genau was du mit implementieren meinst.
Ich versuch mal ein bisschen genauer zu erklären:

Hier ein Ausschnitt aus meinem Programm, bei dem ich ein Rechteck 
zeichnen will:
void dis_rahmen()
{
  send[0] = ESC;
  send[1] = 'G';
  send[2] = 'R';
  send[3] = 1;
  send[4] = 1;
  send[5] = 30;
  send[6] = 30;
  send[7] = DC4;

  i2c_write();
}

DC4 habe ich selbst dazugefügt, es ist nur dazu da, dem Programm das 
Ende der Daten mitzuteilen und wird nicht mehr mitgeschickt. Bei den 
Werten hab ich es so versucht, ich habe sie unter Anführungszeichen 
gesetzt und sie in hex geschickt. Daran kann es also nicht liegen. Wenn 
ich das Programm dann schickte, tut sich auf dem Display nichts, aber 
ich habe mit dem Oszilloskop gemessen. Die Übertragung war korrekt und 
nach jedem Byte wurde ein Acknowledge gesendet.
Wie gesagt, tut sich am Display nichts. Braucht man vielleicht eine 
Initialisierung? Vielleicht kannst du mir eine Routine schicken, bei der 
eine einfache Touchtaste definiert wird, nur um zu sehen, obs 
funktioniert.

MFG, Stefan

von ..,- (Gast)


Lesenswert?

Mit Code kann ich leider nicht dienen, da ich so ein Display nicht 
besitze ...
Aber nochmal grob zusammengefasst ...
-> Du hast die Lötbrücke nicht geschlossen, ergo will das Display mit 
dem SmallProtokoll angesprochen werden ...
--> quasi Daten die wie auf Seite 8 deiner PDF beschrieben sind

Wenn du lediglich ...
1
  send[0] = ESC;
2
  send[1] = 'G';
3
  send[2] = 'R';
4
  send[3] = 1;
5
  send[4] = 1;
6
  send[5] = 30;
7
  send[6] = 30;
... sendest, und nicht wie gefordert
"<DC1> <Länge des Paketes> <DeineDaten> <Prüfsumme>", dann macht das 
Display auch nix.

Vielleicht solltest du mal den gesamten Code anhängen.

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

DC1, die Länge und die Prüfsumme schick ich ja mit.
Aber auf jeden Fall mal mein Programm im Anhang. Die I2C Routinen sehen 
ein bisschen verwirrend aus (sind vom Lehrer). Das Programm ist noch in 
der Entwicklung, hab viel herumprobiert und deswegen sind ne Menge 
Sachen auskommentiert. Die kannst du vernachlässigen.

von ..,- (Gast)


Lesenswert?

Wird das Escape-Zeichen auch so wie soll gesendet? Vielleicht probierste 
mal '#' oder eine 0x23. Das ACK bekommst du, sagst du ja, das bekommt 
man wenn das Paket i.O. war. Dann kanns ja nur an der Synthax liegen.

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.