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 *.*, > > ähnlich wie in einer "normalen" Wohnung möchte ich in unserem Wohnmobil von > verschiedenen Orten Verbraucher (Licht) ein- und ausschalten. > > Daher habe ich folgende "Lese-Logik" in CC2 realisiert: > > <pre> > function ReadAll() returns int > { byte i; byte n; int s; > // Lesen saemtlicher Bausteine (PCFaddr) > s = 0; > for i = 0 ... 15 > { if PCFaddr and (1 shl i) != 0 > { i2c.cstart(AddrR[i]); > n = i2c.readlast(); > i2c.stop(); > // Berechnung von ChgeData > // danach speichern von ReadData > ChgeData[i] = ReadData[i] xor n; > s = s + ChgeData[i]; > ReadData[i] = n; > } > } > return s; > } > </pre> > > Jeder exitierende PCF8574/A Baustein wird gelesen (Variabel n). > Der Wert wird mit den alten Wert mittels XOR verglichen und > das Ergebnis in ChgData gespeichert. > Der neue Wert wird in ReadData gespeichert. > > Mittels ChgData kann ich feststellen, ob ein Eingang zwischen > zwei Aufrufen von "ReadAll()" den Wert geändert hat. > > Die Felder ChgData und ReadData haben die gleiche Größe wie Data aus PCF.C2. > Beim INIT hat ReadData die gleichen Werte wie "Data" und ChgData den Wert NULL. > In PCFaddr wird das Ergebnis von "pcf.init()" gespeichert. > > Nun die Fragen: > Gibt es Schwierigkeiten mit den Werten in "Data"? > Ist dieser Weg überhaupt der richtige? > > > DANKE für jede Info, > > MfG > Bernd Rüffer