Hallo!
Ich möchte gerne 10 bit hochzählen
also..:
0000000000
0000000001
0000000010
usw..
und anschließend jeden ziffer als einzelnes Bit haben..!
Hat jemand eine Ahnung wie das gehen könnte??
mfG Torben
Danke für jede Hilfe!
Hallo!
Ich möchte gerne 10 bit hochzählen
also..:
0000000000
0000000001
0000000010
usw..
und anschließend jeden ziffer als einzelnes Bit haben..!
Hat jemand eine Ahnung wie das gehen könnte??
mfG Torben
Danke für jede Hilfe!
dim temp_word as word at &hd0
dim low_byte as byte at &hd0 overlay
dim high_byte as byte at &hd1 overlay
dim bit_0 as bit
dim bit_1 as bit
etc. bis
dim bit_10 as bit
do
incr temp_word
if temp_word >1023 then temp_word=0
bit_0 = low_byte.0
bit_1 = low_byte.1
etc. bis
bit_10 = high_byte.1
loop
Vor den Erfolg haben die Götter den Schweiß gesetzt
Servus,
ich hoffe das von mir eben geschreieben Beispiel hilft dir weiter, ich teste einfach aufgrund der Byte-Position und der Bit-Position in einem Array die relevante Zahl.
Danach steht dir jedes Bit als Ergebniss in Byte und Bit in der Form:Code:Dim Output(128) As Byte Dim InWert As Word Dim BitWert As Byte Dim ByteWert As Byte Dim TmpByte As Byte Dim n As Byte InWert = {DeinWert} BitWert = InWert Mod 8 ByteWert = Int(InWert) + 1 For n = 1 To 128 If n = ByteWert Then TmpByte.BitWert = 1 Output(n) = TmpByte Else Output(n) = &h00 End If Next n
Zustand 0: If Output(1).0 = 1 Then ...
...
Zustand 1023: If Output(12.7 = 1 Then ...
zur Verfügung.
Grüße Wolfgang
Also hast du eine Word-Variable, die du hochzählst.Zitat von Torben22
Jedes bit kannst du überZitat von Torben22
MyVariable.MyBit adressieren.
MyBit kann bei einer Word oder Integer Variablen von 0 bis 15 gehen.
Das geht auch mit Long, dann kann MyBit von 0-31 sein.
Wofür du da ein Array brauchen solltest mit 1024 If-Abfragen oder ein Overlay (besonders mit festen Adressen) sehe ich nicht.
Gruß
Rolf
Ist sehr gut möglich das er das meint was du beschreibst und will wirklich nur die 10 Bits im Word einzeln zugreifen. Ist nicht so eindeutig geschrieben was "Ziffer" sein soll. Dann ist Dein Ansatz natürlich der korrekte in dem Fall. Ich habe eben ohne Overlay den Code entworfen, weil Overlays schnell das Chaos auslösen wenn man nicht wirklich fit ist.Zitat von for_ro
Grüße Wolfgang
Lesezeichen