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 Wolf, > > Zuerst: Das hat nichts mit einer "Bit-Invertierung" zu tun. > Eine Bit-Invertirung wäre, wenn Du den Zustand von einzelnen Datenbits > invertieren willst. > Das ist aber eher ein tauschen von Bits. > > Ich empfehle Dir die "Neuverdrahtung" durchzuführen. > Mit der Konvertierung verschwendest Du sonst nur unnötig Zeit. > > Ansonsten würde ich, da Du die Daten Anscheinend direkt an einem > Byteport ausgibst, erst garnicht konvertieren, sondern die Ports Bitweise > nach den Daten zu setzen: > <font face="Courier New" size=2> > function setport_verdreht(byte Data) > { > ports.set(7, Data and 0x01); > ports.set(6, Data and 0x02); > ports.set(5, Data and 0x04); > ports.set(4, Data and 0x08); > ports.set(3, Data and 0x10); > ports.set(2, Data and 0x20); > ports.set(1, Data and 0x40); > ports.set(0, Data and 0x80); > }</font> > > So sparst Du Dir viel Rechenzeit. > Und wenn Du lieber das Byte vorher konvertieren willst, versuche mal das: > > <font face="Courier New" size=2> > function convert_byte(byte Data) returns byte > { byte x; > x=Data shr 7; > x=x or (Data shr 5 and 0x02); > x=x or (Data shr 3 and 0x04); > x=x or (Data shr 1 and 0x08); > x=x or (Data shl 1 and 0x10); > x=x or (Data shl 3 and 0x20); > x=x or (Data shl 5 and 0x40); > x=x or Data shl 7; > return x; > }</font> > > MfG André H. > > > > Habe es gerade hinbekommen. Zwar nicht elegant, aber es klappt. > > Meine Lösung sieht so aus: > > > > function conv(byte orig) returns byte > > { > > byte neu; > > neu = 0; > > // 8.Bit > > if orig > 0b01111111 > > {orig = orig - 0b10000000; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 7.Bit > > if orig > 0b00111111 > > {orig = orig - 0b01000000; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 6.Bit > > if orig > 0b00011111 > > {orig = orig - 0b00100000; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 5.Bit > > if orig > 0b00001111 > > {orig = orig - 0b00010000; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 4.Bit > > if orig > 0b00000111 > > {orig = orig - 0b00001000; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 3.Bit > > if orig > 0b00000011 > > {orig = orig - 0b00000100; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 2.Bit > > if orig > 0b00000001 > > {orig = orig - 0b00000010; > > neu = neu + 0b10000000;} > > neu = neu shr 1; > > // 1.Bit > > if orig > 0b00000000 > > {orig = orig - 0b00000001; > > neu = neu + 0b10000000;} > > return neu; > > } > > > > Geht das nicht viel einfacher?? > > > > Gruß, > > Wolf