Morgen Leute,
vielleicht sitze ich ja auf dem Schlauch oder es ist einfach zu früh.
Ich möchte gerne ein Word auswerten ob bestimmte Bits gesetzt sind.
Das wollte ich so machen:
Global $abRecvData[20], $aBit[16] = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
[/autoit][autoit][/autoit][autoit]$abRecvData[2] = 0x0404
[/autoit][autoit][/autoit][autoit]For $i = 0 To UBound($aBit) - 1
If BitAND(Hex($abRecvData[2], 4), Hex(2 ^ $aBit[$i], 4)) Then
ConsoleWrite($i & " True " & Hex($abRecvData[2], 4) & "=" & Hex(2 ^ $aBit[$i], 4) & @CRLF)
Else
ConsoleWrite($i & " False" & @CRLF)
EndIf
Next
Also bei dem Word 0x0404 sind dann Bit 0 und Bit 10 gesetzt. Demnach müsste bei der Konsole auch nur bei den beiden ein true hinschreiben, also bei 0404=0004 und 0404=0400. Aber wieso wird bei manchen anderen auch noch ein true geschrieben?