Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

edip defekt? Kategorie: I²C-Bus (von Roman S - 5.03.2011 0:18)
Ich nutze:
CC2-ReglerBoard, OSOPT V3.1
Hallo zusammen

Als ich heute Abend mein Touchmenü erweitern wollte,
konnte ich plötzlich keine Eingaben am edip mehr machen. Die  
Switch- & Key-buttons wechslen zwar auf Fingerdruck die Farbe,
aber das edip scheint keine Daten mehr an die C-Control mehr
zu senden?! Die Ausgaben funktionieren wunderbar.
Ein älteres Testprogramm (siehe Quellcode) hat auch nicht den
gewünschten Erfolg gebracht.
Das edip steckt auf dem compactboard von Andre und ist mittels
I2C mit der C-control verbunden. Wo könnte das Problem liegen?



//--------------------
  thread  waithost// Thread vom main-thread aus starten
//-----------------------
{
 hwcom.init();
 hwcom.setspeed(8);
 loop
 {
  wait hwcom.rxd();
  if hwcom.get()==254
    {
     wait hwcom.rxd();
     if hwcom.get()==254 quit 1;// Hostmode einleiten
    }
  hwcom.flush();
 }
}
//----------------------------------------------------------------------------


const edipAddr = 0;
int r;
byte a,t[24];
string s;

edip.RxBuffer Display1;


//------------------------------------------------------------------------------
function Submenue()
//------------------------------------------------------------------------------
{
edip.removeTouch(edipAddr,4,1);//Entfernt Button mit dem code 4


edip.setFont(edipAddr,3);
edip.setTextMode(edipAddr,3);
edip.text(edipAddr,0,75,35,"Messprogramme");
edip.text(edipAddr,0,200,35,"Bitte Ausw132hlen");

edip.setTouchKeyAction(edipAddr,1,0);
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.setFont(edipAddr,3);
edip.setTextMode(edipAddr,3);
edip.setTouchKeyAction(edipAddr,1,0);


edip.touchSwitch(edipAddr,50,111,200,150,2,3,1,"dimmen");
edip.touchKey(edipAddr,20,50,100,100,6,7,1,"frosch");
edip.touchKey(edipAddr,400,111,500,150,4,5,1,"blabla");


 
 

loop
{
 r=edip.receiveframe(edipAddr,Display1);
a=edip.getRxData(Display1,t);


if a<255 and a
 {


if t[2]==3
{
edip.println(edipAddr, "gedrueckt 3");

max7311.set(9,4,1);
max7311.set(8,4,1);


}
if t[2]==2
{
edip.println(edipAddr, "gedrueckt 2");
max7311.set(9,4,0);
max7311.set(8,4,0);
}




if t[2]==5
{
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,255);
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
//------------------------------------------------------------------------------
{
run waithost;
ediptest.start();

max7311.setw(8,0);                         //Augangsregister aller 16 Ports auf low setzen
max7311.setDDRw(8,0);                      // Alle Ports als Ausgang
max7311.setw(9,0);                         //Ausgangsregister aller 16 Ports auf low setzen
max7311.setDDRw(9,0);                      // Alle Ports als Ausgang

loop
{
ediptest.hauptmenue();


}}


    Antwort schreiben


Antworten:

Re: edip defekt? (von Roman S - 5.03.2011 11:53)