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 Mathias, > nicht leichter als das, > > <code> > function bytetoarr(byte In ,byte out[],byte start) > { > // Bits bearbeiten > out[start]= In and 1; > out[start+1]= (In shr 1) and 1; > out[start+2]= (In shr 2) and 1; > out[start+3]= (In shr 3) and 1; > out[start+4]= (In shr 4) and 1; > out[start+5]= (In shr 5) and 1; > out[start+6]= (In shr 6) and 1; > out[start+7]= (In shr 7) and 1; > }</code> > > habs nicht getestet, aber ich denke es sollte laufen, > > mfg Tom > > > > Hallo André, > > > > vielen Dank für deine schnelle Antwort. Sicherlich hast Du noch eine Funktion für den umgekehrten > > Fall zum Einlesen der Ports des PCF8574 und Ausgabe in einem 8 Byte großem Bytearray. > > > > Danke Mathias S. > > > > > Hallo Mathias, > > > > > > > Ich habe 8 Bytespeicher mit 0 oder 1, diese möchte ich in eine Zahl umwandeln, um sie dann über > > > > den I2-Bus an den PCF8574 zu schicken. > > > > Ist das sinnvoll, oder steuer ich jeden einzelnen Ausgang am PCF8574. > > > > Ich wollte noch vor dem senden die Zahl speichern um nur zu Senden wenn sich die Zahl geändert hat, > > > > um den I2-Bus nicht zu sehr zu belasten! > > > > > > Zuerst: Der Bus heißt I²C-Bus(oder I2C, oder IIC) und nicht I2-Bus. > > > > > > Wenn ich Dich richtig verstehe, dann hast Du ein 8 Byte großes Bytearray und > > > in jedem Element steht der Zustand für einen Port eines PCF8574. > > > Somit muß Du daraus ein Bitmuster erstellen. > > > Nichts leichter als das: > > > <code> > > > function getStates(byte states[]) returns byte > > > {byte i,d; > > > d=0; > > > for i=0 ... 7 d=d or ((states[i]!=0) and (1 shl i)); > > > return d; > > > }</code> > > > > > > MfG André H. > > >