Naja, bin eigentlich was am machen aber zur Entspannung guckt man mal reinHuch, so spät noch im Forum unterwegs![]()
Nun ja, das hast Du jetzt falsch verstanden PD0 ist kein Bit aus einem Register, sondern eine Konstante die mit
Erzeugt/deklariert wirdCode:.equ PD0 = 0
in C würde das z.B. so aussehen
Dieses 0 bezieht sich hier auf die Bitnummer 0Code:#define PD0 0
wenn man sich so ein Byte mit Nummern aufschreibt sieht es so aus:
Wobei Bit Nummer 0 hat die Wertigkeit 1Code:76543210
Bit 1 2
Bit 2 4
Bit 3 8
Bit 4 16 usw.
Statt ldi r16,(1<<PD0) kannst Du auch ldi r16,1 schreiben das ist Wurst,
nur wenn Du z.B. irgendein Pin am PortD schalten willst ist es lesbarer
ldi r16,(1<<PD0)
out PORTD,r16
zu Schreiben
oder
ldi r16,(1<<PD0)|(1<<PD7)
statt
ldi r16,0x81
um PD0 und PD7 einzuschalten.
Klarer ?
Wenn nicht kannst Du nochmal fragen![]()
Gruß Sebastian







Zitieren
Lesezeichen