Also wenn du PORTX|=(1<<PXY) verwendest setzt du NUR das Y-te Bit im PORTX auf 1 alle anderen Bits in PORTX bleiben wie sie sind.
Bei deiner Methode PORTX=1 (oder was auch immer) werden alle Bits gesetzt und eventuelle andere Pinzustände überschrieben.
Wenn du es dir einfacher machen willst könntest du das mit den Ouptupins auch so machen:
#define OutputA1 DDRA|=(1<<PA1)
dann musst du um PA1 zum output zu machen nur noch OutputA1; schrieben.
Wenn du das jetzt durchziehst und für alle Pins das machst (scheis viel Arbeit und vlt umständlich) dann kannst dus einfacher haben
Ansonsten schließ ich mich NumberFive an, dass du nämlich PORTA nicht aus PORT und A zusammensetzen kannst.
Grüße Javik
Lesezeichen