Hallo Muellerjm!
Das Manipulieren oder Abfragen einzelner Bits in einem Byte ist einfacher, als du vielleicht denkst.
Manipulieren kannst du es folgendermaßen:
Code:
Dim Test_byte As Byte
Set Test_byte.1
Reset Test_byte.1
#oder z.B. auch:
Test_byte.1 = 1
Test_byte.2 = 1
Test_byte.4 = 1
Test_byte.7 = 1
Test_byte.1 = 0
Das Abfragen funktioniert genauso.....
Code:
If Test_byte.1 = 1 Then
NOP
Else
NOP
End If
Ich nutze diese Varianten auch ganz gern, um z.B. "Steuerungsvariablen" in die Programme einzubauen.
Die einzelnen 8 Bits eines "Steuerungsbytes" nutze ich dann als Flags.
Grundsätzlich arbeitet BASCOM aber intern genauso.
Sobald du ein einzelnes Bit deklarierst.... also "Dim Bit1 As Bit" wird im Speicher durch BASCOM ein sogenannter "Bitcontainer" angelegt.
Dieser Bitcontainer wird solange mit einzelnen Bits ausgefüllt, bis alle 8 Bits "voll" sind.
Erst danach wird die nächste Speicherzelle (ein Byte) als Bitcontainer verwendet!
Beispiel Bitcontainer:
Code:
Dim Bit1 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit2 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit3 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit4 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit5 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit6 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit7 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit8 As Bit 'verwendet z.B. Speicherbereich &H0060
Dim Bit9 As Bit 'verwendet dann z.B. Speicherbereich [B]&H0061[/B]
Je nach Kenntnisstand in Punkto Programmierung kannst du dann sogar noch ein Overlay anwenden, oder sogar die Speicherzelle direkt abfragen.
Ich weiß aber nicht, ob das jetzt für dich interessant ist...... und obendrein nicht doch eher etwas für Fortgeschrittene.
Grüße,
Cassio