In Binär sieht das dann so aus:

PD5 ist ja "5".

DDRD |= (1<<PD5)

DDRD ist z.B. 10000011.

(1<<PD5) ist 00000001 um 5 stellen nach links verschoben ergibt das: 00100000

Hier wird diese Operation durchgeführt: "|="

ODER-Verknüpfen:

10000011
00100000
---------
10100011 -> Dieser Wert wird nun in das DDRD-Register gespeichert.


Alter Wert von DDRD-Register = 10000011 (Hier ist der PIN: 0,1,7 als Ausgang definiert).
Neuer Wert von DDRD-Register = 10100011 (Hier ist der PIN: 0,1,5,7 als Ausgang definiert).

Hab ich das so richtig aufgeschrieben?


MfG