Re: Touchpanal kaputt??? Kategorie: Sonstige Hardware (von Heiko - 4.03.2004 18:35) | |
Als Antwort auf Re: Touchpanal kaputt??? von Marcel - 4.03.2004 14:46
| |
Hallo Marcel, ich habe zwar kein Touch LCD von EA angeschlossen, sondern ein GE120, hatte aber am Anfang auch den ähnlichen Efekt, daÃ? das LCD gemacht hat, was es will. Bei mir hat es geholfen, indem ich nach jedem! Initialisierungsbefehl (init, font, textmodus, clear etc.) ein sleep (500) eingetragen hatte und dem Thread für die Zeit der Initialisierung eine hohe Prio (200) gegeben habe. Vermute, daÃ? es irgendwie Timingprobleme mit der SW-Com und den RS232-LCD's gibt. GruÃ? Heiko > Hallo Heribert, > erst mal tausend Dank für deine Hilfe. Ich habe es bei mir ausprobiert. Die untersten Zeilen habe ich > in â??touchlcdâ?? eingefügt. Habe oben string s ; und int second, x; deklariert. Aus Thread screen hab ich > ein main gemacht. Und weiter unten habe ich die Aufrufe durch â?? // â?? herausgenommen > (if x==1 {setup ();break;} & if x==2 {diagnose ();break;} ) da mir diese zwei Funktionen ja fehlen :o) > > Ich habe dann dieses Programm auf die Unit übertragen. Leider geht es bei mir, wie ich es erwartet > habe, nicht richtig :o( In der oberen Zeile steht ja Uhrzeit und Datum (Invertiert). Dann kommt die > Version, und ganz unten (Feld 26-28) eine Taste. Die Taste (Feld 29-31) gibt es bei mir nicht. In der > ersten Taste steht auch irgendwie verschoben â??Diagnoseâ?? obwohl das ja in der zweiten fehlenden Taste > stehen sollte. Jetzt ist es so, das ich bei jedem Neustart (RESET) der Unit ständig ein neues Bild > habe. Dein Text: Haussteuerung, Name, Version... , wandert immer weiter nach unten. Anfangs unter > dem Datum, später über dem Taster, dann beginnt es wieder oben. Es steht aber nie die ganze > Textzeile da wie sie eigentlich kommen sollte. Meistens fehlt der Anfang und es erscheint nur (V1.0... ) > > Du hast mir trotzdem weiter helfen können. Leider nicht im positiven Sinne, aber jetzt weiÃ? ich > wenigstens das es nicht an meiner Programmierung liegt. > Mal sehn was ich jetzt mache. Hab das KIT damals bei Conrad bestellt. Wie gesagt das ist schon > ewig her. Vielleicht könne die es ja reparieren. (Was ich eher nicht glaube *g*)Zu EA kann ich nicht > gehen, da ich extra bei Conrad gekauft habe, da es dort billiger war. Telefonisch hat man mir bei EA > gesagt das man über andere Anbieter dann kein Service erwarten kann :o( > Ich hab ja auch schon dran rumgelötet. Taster angeschlossen und so. Dabei hat es dann bestimmt > irgendwann mal etwas abbekommen. Ich habe das KIT auch auf 9600 Baut eingestellt, an der > Geschwindigkeit kann es also auch nicht liegen. > Na ja, jetzt erst mal überlegen. Kommt Zeit kommt Rat kommt Attentat. > Besten Dank noch mal und GrüÃ?e, > Marcel > > PS: hab noch mal mein "Progi" angehängt, ich hoffe das ist nicht zu lang für´s Forum!!!!!!! > > string s ; > int second, x; > //------------------------------- > // Hauptmenue > //------------------------------- > > function hauptmenue () > > {touchlcd.font(3,1,1); > touchlcd.textmodus(4,1); > touchlcd.led (255); // diese funktion habe ich dem Modul von Andre beigefügt > // um die Beleuchtung zu steuern ( siehe unten) > touchlcd.touchactive(0); > touchlcd.delzone (0,8,160,80); > sleep 100; > s="Haussteuerung"; > touchlcd.text('Z',80,10,s,str.length(s)); > s="by"; > touchlcd.text('Z',80,20,s,str.length(s)); > s="Heribert Schutzeichel"; > touchlcd.text('Z',80,30,s,str.length(s)); > s="V 1.0 / 2.2004"; > touchlcd.text('Z',80,40,s,str.length(s)); > > > s="Setup"; > touchlcd.button(0,26,28,1,2,s,str.length(s)); > s="Diagnose"; > touchlcd.button(0,29,31,2,2,s,str.length(s)); > > } > > > > > > //------------------------------- > // Init-Touchscreen > //------------------------------- > > thread main //screen > { touchlcd.init(); //.. init Touchscreen > touchlcd.clear(); > sleep 200; > touchlcd.cursor (0); > touchlcd.touchactive(0); // Alle Touchtasten deaktivieren > touchlcd.touchevent(1,1); // Touchtaste invertieren, kein beep > > sleep 200; > touchlcd.gerade (8,0,152,0); > touchlcd.fillzone (0,0,7,6,0); > touchlcd.fillzone (153,0,160,6,0); > hauptmenue (); > > loop { > > if second!=system.second() > { // Uhrzeit ausgeben > s="Uhr:"; > str.putintf(s,system.hour(),2); > s=s+":"; > str.putintf(s,system.minute(),2); > s=s+":"; > str.putintf(s,system.second(),2); > s=s+" / Dat:"; > str.putintf(s,system.day(),2); > s=s+"."; > str.putintf(s,system.month(),2); > s=s+"."; > str.putintf(s,system.year(),2); > touchlcd.font(2,1,1); > touchlcd.textmodus(5,1); > touchlcd.text('L',8,1,s,str.length(s)); > second=system.second(); } > > if swcom.rxd() > {x=swcom.get(); > // if x==1 {setup ();break;} > //if x==2 {diagnose ();break;} > } > > } > > } > | |
Antwort schreiben Antworten: |