edip240-7 "" Tochbuttons Kategorie: Sonstige Hardware (von Dennis - 18.05.2006 8:39) | |
| |
Hallo, Ich habe "ein" Problem mit dem edip240-7 und zwar werden öfters Touchbuttons einfach nicht geladen, der Befehl im Programm wird quasi ignoriert. Aber das ist nicht das einzigste Problem. Desweiteren hängt sich teilweise der gesamte I²C Bus auf bzw. wie ihr weiter unten in dem Programmbeispiel seht wird die "Tasterabfrageschleife" nicht mehr gesendet, ich muss erst einen Reset der C-Control II machen damit es wieder geht. Und das letzte was mir aufgefallen ist, was aber sehr selten auftritt, das die C-Control II ein Reset macht sobald ich einen Touchbutton drücke. Allerdings sind diese "Fehler" nicht reproduzierbar d.h. sie treten zufällig auf... ansonsten funktioniert das Display super ;-)... Ich habe hier auch schon gelesen, dass es ein Problem bei der Firmware des Displays gab, allerdings habe ich Version 1.6, deswegen sollte es doch keinen "I²C Bug" mehr geben oder ist da vielleicht was bekannt. Ansonten habe ich alle Module auf dem neustem Stand und ich benutze OSOPT V3.0. Vielleicht mache ich ja auch ein Fehler bei der Programmierung, deswegen hab ich mal ein Teil von meinem Programm angehängt... hier der Auszug aus meinem Programm, was im Moment einfach ein Menü ist: const edipAddr = 0; int r; byte a,t[24]; string s; edip.RxBuffer Display1; //------------------------------------------------------------------------------ function Messprogramme() //------------------------------------------------------------------------------ { edip.removeTouch(edipAddr,0,1); edip.loadBitmap(edipAddr,0,0,2); edip.setFont(edipAddr,3); edip.setTextMode(edipAddr,3); edip.text(edipAddr,0,75,35,"Messprogramme"); edip.text(edipAddr,0,68,60,"Bitte Ausw132hlen"); edip.setTouchKeyAction(edipAddr,1,0); edip.setTouchFrame(edipAddr,7); edip.touchKey(edipAddr,10,80,110,95,0,1,1,"test"); edip.touchKey(edipAddr,125,80,225,95,0,2,1,"test1"); edip.touchKey(edipAddr,68,105,168,120,0,3,1,"zur129ck"); loop { r=edip.receiveframe(edipAddr,Display1); a=edip.getRxData(Display1,t); if a<255 and a { if t[2]==3 { return; } } } } //------------------------------------------------------------------------------ function hauptmenue() //------------------------------------------------------------------------------ { int b,l; b=0; l=1; edip.removeTouch(edipAddr,0,1); edip.loadBitmap(edipAddr,0,0,2); edip.setFont(edipAddr,3); edip.setTextMode(edipAddr,3); edip.text(edipAddr,0,89,35,"Hauptmen129"); edip.setTouchKeyAction(edipAddr,1,0); edip.setTouchFrame(edipAddr,7); edip.touchKey(edipAddr,65,65,175,80,0,1,1,"Messprogramme"); edip.touchKey(edipAddr,46,95,196,110,0,2,1,"Kalibrierprogramme"); edip.touchKeyBmp(edipAddr,0,111,4,0,3,1,""); loop { r=edip.receiveframe(edipAddr,Display1); a=edip.getRxData(Display1,t); if a<255 and a { if t[2]==1 { ediptest1_8.Messprogramme(); break; } if t[2]==2 { ediptest1_8.Kalibrierprogramme(); break; } if t[2]==3 { if l==0 { //edip.setLight(edipAddr,1); //edip.enableScreen(edipAddr,1); edip.dimmLight(edipAddr,255); l=1; continue; } if l==1 { //edip.setLight(edipAddr,1); //edip.enableScreen(edipAddr,1); edip.dimmLight(edipAddr,254); l=0; continue; } } } } } //------------------------------------------------------------------------------ function start() //------------------------------------------------------------------------------ { edip.setCursor(edipAddr,0); edip.enableTerminal(edipAddr,1); edip.removeTouch(edipAddr,0,1); edip.clrScreen(edipAddr); edip.FF(edipAddr); edip.loadBitmap(edipAddr,11,20,1); sleep 2500; } //------------------------------------------------------------------------------ thread main //------------------------------------------------------------------------------ { ediptest1_8.start(); // Springe Funktion Start loop ediptest1_8.hauptmenue(); } Falls ihr Vorschläge habt, immer her damit ;-) | |
Antwort schreiben Antworten: Re: edip240-7 "" Tochbuttons (von Mark - 23.05.2006 7:07) |