Hi,
Nochmal ums komplett zu machen und damit man sich das besser vorstellen
kann:
Config setzt das Register DDRX.Y. 1 Output und 0 Input.
Bei Output schaltet man mit Port den Ausgang auf 1 oder 0.
Bei Input schaltet man mit Port einen Pullup ein bzw aus.
Config bzw. DDRX bestimmt also die Funktion des Registers Port - Pullup
an/aus oder Push-pull.
Pin liest immer den wirklichen Zustand des Beinchens, egal was Du da
sonst getrieben hast.
Also wenn Du das Ding als Output definiert hast und Portx.Y = 1, kannst
Du bei PinX.Y = 0 erkennen, daß es gleich qualmt. Dann hat das Beinchen
nen Kurzen zu GND.
Irgendwo bei Atmel steht auch (ich glaube FAQ) warum die das so
vermeintlich kompliziert gemacht haben (habs wieder vergessen).
Gruß,
Norbert