Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo, > > im Grunde läuft eigendlich alles, nur sporadisch hängt sich der I2C-Bus auf. Es scheint eindeutig mit > dem edip bzw. mit der Ansteuerung zusammen zuhängen. > Nur ich finde den Fehler nicht. Event. sieht jemand von euch ja was ich falsch mache. > > Hier ein Auszug aus meinem Code in Kurzform. > > <code> > const eDIPAddr[]=32,33; > edip.RxBuffer Display[2]; > > string s,strg,prog; > byte second,tl,ul,dsp,o,flag; > int q,addr,addr2,zeit,ein,timee,timeem,timea,timeam,max,min; > > > > > thread start > {byte i,a,x,j,screen[2]; > string s,l; > screen[0] = 1; > screen[1] = 2; > o=0; > run schaltuhr.timer; > > for o=0...1 > {var.Anzeige[o] =9 ; > edip.enableScreen (eDIPAddr[o],1); > edip.enableTerminal(eDIPAddr[o],1); > edip.clrScreen(eDIPAddr[o]); > edip.setLight (eDIPAddr[o],1); > edip.dimmLight(eDIPAddr[o], 50); > edip.setCursor(eDIPAddr[o], 0); > edip.setTouchKeyAction (eDIPAddr[o],1,1); > } > > byte t[24]; > o=0; > loop > > { > > if o >1 o=0; > > timedate(s); > > if second!=system.second() {for j=0...1{edip.setFont (eDIPAddr[j],3);sleep 50; > edip.setTextMode(eDIPAddr[j],5);sleep 50; > edip.text(eDIPAddr[j],0,26,2,s);} > second=system.second(); } > > edip.receiveframe(eDIPAddr[o],Display[o]); > > if var.Anzeige[o] ==1 anzeige.Kist (eDIPAddr[o]); > else > if var.Anzeige[o] ==2 anzeige.Sist (eDIPAddr[o]); > else > if var.Anzeige[o] ==3 anzeige.SWist (eDIPAddr[o]); > else > if var.Anzeige[o] ==4 ; > else > if var.Anzeige[o] ==5 anzeige.ASollIstK (eDIPAddr[o]); > else > if var.Anzeige[o] ==6 anzeige.betrieb (eDIPAddr[o]); > else > if var.Anzeige[o] ==7 anzeige.oel (eDIPAddr[o]); > else > if var.Anzeige[o] ==9 {anzeige.ver (eDIPAddr[o]);var.Anzeige[o] =0;} > else > if var.Anzeige[o] ==10 {anzeige.Temp (eDIPAddr[o]);} > > if var.DspFlag[o] == 0 {edip.setLight (eDIPAddr[o],0);edip.setTouchFrame (eDIPAddr[o],0); > edip.clrScreen(eDIPAddr[o]);edip.touchKey (eDIPAddr[o],0,0,190,120,5,0,0,""); > edip.enableScreen (eDIPAddr[o],0);var.DspFlag[o] =0xFF;} > > > do > {a=edip.getRxData(Display[o],t); > > if a<255 and a > //------------------------------------------------------------------------------ > // Display 1 > //------------------------------------------------------------------------------ > > {if screen[o] ==1 {if t[0]=='A' > > {reset schaltuhr.timer;run schaltuhr.timer; > if t[2]==1 {screen[o] =1;TLoeschen (20);UMenue (2,21,22,23,21); var.Anzeige[o] =1;} > if t[2]==2 {screen[o] =2;TLoeschen2 (20); var.Anzeige[o] =10;} > if t[2]==5 {edip.removeTouch(eDIPAddr[o],5,1);var.Anzeige[o] =9; > edip.enableScreen (eDIPAddr[o],1);edip.setLight (eDIPAddr[o],1);} > > if t[2]==20 {TLoeschen (20);UMenue (2,21,22,23,21); var.Anzeige[o] =1;} > if t[2]==21 {TLoeschen (20);UMenue (2,21,22,23,21); var.Anzeige[o] =1;} > etc ......... > }} > //------------------------------------------------------------------------------ > // Display 2 > //------------------------------------------------------------------------------ > else > if screen[o] ==2 { > > if t[0]=='A' > > {reset schaltuhr.timer;run schaltuhr.timer; > if t[2]==1 {screen[o] =1;TLoeschen (20);UMenue (2,21,22,23,21); var.Anzeige[o] =1;} > if t[2]==2 {screen[o] =2;TLoeschen2 (20); var.Anzeige[o] =10;} > if t[2]==5 {edip.removeTouch(eDIPAddr[o],5,1);var.Anzeige[o] =9; > edip.enableScreen (eDIPAddr[o],1);edip.setLight (eDIPAddr[o],1);} > > > > if t[2]==20 {TLoeschen2 (20); var.Anzeige[o] =10;} > if t[2]==30 {TLoeschen2 (30); var.Anzeige[o] =0;Licht ();} > if t[2]==40 {TLoeschen2 (40); var.Anzeige[o] =0;Filter ();} > if t[2]==50 {TLoeschen2 (50); var.Anzeige[o] =0;Solar ();} > if t[2]==60 {screen[o] =1; var.Anzeige[o] =9;} > > > > if t[2]==171 {var.LichtSw = 1;pcf8583.writebyte (0x62,var.LichtSw);} // Schwimmbadlicht ein/aus > if t[2]==181 {var.LichtSw = 0;pcf8583.writebyte (0x62,var.LichtSw);} > if t[2]==172 {var.LichtTe = 1;pcf8583.writebyte (0x63,var.LichtTe);} // Vordachlicht ein/aus > if t[2]==182 {var.LichtTe = 0;pcf8583.writebyte (0x63,var.LichtTe);} > if t[2]==173 {var.LichtGa = 1;pcf8583.writebyte (0x69,var.LichtGa);} // Gartenlicht ein/aus > if t[2]==183 {var.LichtGa = 0;pcf8583.writebyte (0x69,var.LichtGa);} > if t[2]==174 {var.Pumpe = 1;pcf8583.writebyte (0x73,var.Pumpe);} // Pumpe ein/aus > if t[2]==184 {var.Pumpe = 0;pcf8583.writebyte (0x73,var.Pumpe);} > > etc......... } > //------------------------------------------------------------------------------ > > }}} while a<255 and a;o=o+1;}} > </code> > > Mfg > > Heribert