Archiv verlassen und diese Seite im Standarddesign anzeigen : 0x04 = (1<<DDB2) Das zweite soll besser sein hab ich..
0x04 = (1<<DDB2) Das zweite soll besser sein hab ich in dem tut von www.microcontroller.net/wiki gelesen aber ich verstehe nicht wie es aufgebaut ist da es einfach nirgendwo erklärt wird ... Also kann mir jemand erklären wie das Aufgebaut ist und funktioniert? Bisher verwende ich einfach die Hexdezimalen Werte um ausgaben an die Ports zu machen ... aber wenn es das gleiche bewirkt interessiert es mich einfach was es macht ...
Gibt es evenutell einen IRC Channel zu AVR und C?
das a<<b bewirkt einfach, dass der Wert a bitweise um b nach links geschoben wird:
0001<<2 = 0100
0101<<1 = 1010
das ganze kann man mit einer Multiplikation des Wertes a mit (2^b) gleichsetzen
es gibt dann auch a>>b, was genau das Gegenteil bewirkt
ich denke, dass es egal ist, ob man den Wert in Hexadezimalzahlen oder der oben genannten Methode angibt
Post war von mir, hab vergessen, mich einzuloggen
ich denke, dass es egal ist, ob man den Wert in Hexadezimalzahlen oder der oben genannten Methode angibt
(1<<DDB2) zu verwenden hat den Vorteil, dass wenn man sich erst einmal an diese Schreibart gewöhnt hat, sie selbsterklärend ist und man unabhängig von der tatsächlichen Position des Register ist, wenn man einen anderen mc verwendet
Frank
das andere ist doch auch unabhängig von der tatsächlichen Position des Registers?!
oder meinst du, dass wenn sich die Position der einzelnen Bits im Register verändert, der Wert DDB2 angepasst wird, so dass man den eigenen Code nicht mehr ändern muss?
genau daran habe ich gedacht, wenn sich die Position des Bits im Register ändert, dann muss nur einmal DDB2 angepasst werden;
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.