PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Codeschnipsel



hacker
05.04.2007, 16:06
Hallo Community,

ich kann diesen Codeschnipsel leider nicht an einem AVR testen. Könnt ihr mir sagen, ob das so geht? Der Compiler meckert nicht, aber auch nicht, wenn ich was für die Variable Zahl eine Zahl über 7 eingeb. Was nicht gehen dürfte.


Test = &b11111001
Zahl = 5

Portb5. = Test.Zahl

kann ich das so machen? Portb.5 sollte jetzt 1 sein.

Das Problem: Hier meckert der Compiler auch nicht!

Test = &b11111001
Zahl = 10

Portb5. = Test.Zahl



Könnt ihr mich aufklären, ob das geht?

Gruß Hacker

PicNick
05.04.2007, 18:31
Nun, meckern kann er nicht, denn was dann, wenn das Progamm läuft, in "Zahl" drinnen steht, weiß er beim kompilieren noch nicht.

Da der Bascom eine "1"-er shiftet, um das "zahl"-Bit zu kriegen, und er das nicht prüft, wird ihm wohl eine NULL rauskommen. was ja genaugenommen auch stimmt. denn 2^^10 ist bei deiner "TEST" Variablen auch tatsächlich null.

Wenn du aber DIM Test as WORD machst
und &HFFFF reinschreibst, sollte auch "1" rauskommen.

hacker
06.04.2007, 10:59
oki. Danke für deine Hilfe PicNick!