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 Björn, > > das wäre schön, wenn Du da eine genauere Ursache findest. > > Ich konnte das Problem, oder eher das Symptom bei mir auch beheben. > Ich habe meinen Lesethread folgendermaßen erweitert: Nach dem Finden eines Eingangssignals, > ensprechendes Modul erneut auslesen und Ergebnisse vergleichen. Eingangssignal ist nur gültig, > wenn beide Leseergebnisse übereinstimmen. > > eingang=dwmodule.getDigi(modul); // Modul abfragen > if eingang > if eingang !=dwmodule.getDigi(modul) // Sicherheitsabfrage nur wenn > eingang=0; // positives Eingangssignal > > Damit war das Symptom weg. Also liegt es definitiv am I2C Handling. Konsequenter Weise müsste ich > das jetzt auch mit dem "Busschreiben" machen. Solange an ein Modul schreiben, bis das am Modul > gelesene dem Geschriebenen entspricht. > > Ich habe übrigens noch einen unerklärichen Effekt. > > Sensor[pos] = (modul*15)+1-1+bit; > > In obiger Zeile könnte man meinen, das +1 und -1 ist überflüssig. Ist es auch, solange die Variable > "modul" nicht "0" wird. Dann wird das Ergebnis nämlich auch 0 und nicht "bit" wie es mathematisch > korrekt wäre und es auch erwartet wird. Füge ich +1und -1 ein, funktionierts. > > Wieso??? > > Viele Grüße > > Detlef