Zitat Zitat von Da_Vinci13
PORTA |= (1 << PB2)
Warum PB?
Müsste da nicht PORTA2 stehen?
es sollte PA2 sein, würde aber so das selbe ergebnis liefern, da PA2 den selben wert darstellt wie PB2 (und PC2, ...), nämlich 2, den index des pins eben.

Zitat Zitat von Da_Vinci13
Stimmt das ist die übersichtlichere Schreibweise... wenn ich z.B. PORTA |= (1 << PORTA3) schreibe, sind dann die restlichen PORTs von PORTA 0? bzw. Eingänge?
du hast einen port A an dem gewisse pins für andere dinge konfiguriert sind, und der pin mit nummer 3 ist 0. das konnte in binärdarstellung so aussehen:

PORTA: 01100011

als nächstes wird die klammer ausgewertet, also werden die bits des wertes 1 um 3 (wert von PA3) stellen nach rechts verschoben:

00000001 << 3 ergibt 00001000

dieser wert wird nun mit PORTA oder-verknüpft und das ergebnis wird in PORTA gespeichert:

01100011 ODER
00001000
------------
01101011

wie du siehst bleiben die restlichen pins unverändert.


lg