PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auf einzelne Bits in einem Byte zugreifen?



MarkusLudwig
24.02.2006, 22:45
Hallo,

bin gerade dabei ein Schritmotorinterface zu programmieren. Als Treiber verwende ich einen TMC 222, der über i2c von einem Mega 16 angesteuert wird. Dazu muss man aber mehrere Informationen in einem Byte unterbringen, die sich evtl. teilweise verändern. Zum Beispiel gibt es ein Komando, bei dem in einem Byte ein Teil einer Position, die Drehrichtung und die Beschleunigungsparameter enthalten sind. Angenommen die Drehrichtung soll verändert werden, wie stelle ich das an ohne die anderen Bits zu beeinflussen? Hab noch nicht so viele Erfahrungen mit Bascom, deshalb bitte ich um Hilfe.

Vielen Dank im Vorraus
Markus

linux_80
24.02.2006, 23:19
Hallo,

Die Bits einer als Byte Dimensionierten Variable kann man zB. mit Varname.1 ansprechen, mit Set Varname.1 wird dieses Bit gesetzt. mit Reset gelöscht.
In der Bascom-Hilfe ist das bei den Befehlen Set/Reset beschrieben.

Torsten_G
25.02.2006, 11:15
Es kommt sogar noch besser, der Index der Byte-Variablen kann ebenfalls als Variable geführt werden:



Do

Dim Bytevar as Byte
Dim Index as Byte

For Index=0 to 7
Toggle Bytevar.index
Waitms 500
Next Index

Loop



Viele Grüße

Torsten

MarkusLudwig
25.02.2006, 16:26
Vielen Dank für eure schnelle Hilfe.
Echt toll dieses Forum!!!

Torsten_G
25.02.2006, 18:21
...
Echt toll dieses Forum!!!
...

"Simply the Best..." \:D/