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
Lesezeichen