'nabend Bongo,

Die Sache mit PORT und PIN sind nur am Anfang etwas verwirrend. Wenn so ein Mikrocontroller "aufwacht", sind erstmal alle (!) I/O-Pins als Eingänge konfiguriert. Einfach deshalb, weil ein als Eingang geschalteter, d.h. hochohmiger Pin an umliegenden Bauteilen keinen Schaden anrichten kann. Eine spezielle Konfiguration als Eingang brauchst Du also schonmal nicht.

Um einen Pin zu konfigurieren, kann man natürlich den befehl "Config" verwenden. Die Bascom-Hilfe (genial gut!!!) schreibt hierzu folgendes:

Syntax
CONFIG PORTx = state
CONFIG PINx.y = state
You can also set a single port pin with the CONFIG PIN = state, statement.

Heißt also im Klartext, dass Du Config PINX.Y nehmen musst, um einen einzelnen Anschluss zu definieren. Mit Config PORTX erreichst Du alle Anschlüsse des Ports (z.B. B.0 bis B.7).

Weil ich das etwas verwirrend finde, verwende ich persönlich die "DDR"-Register (Data Direction Register). Mit dem simplen Befehl DDRB.5 = 1 wird B.5 zum Ausgang gemacht, DDRD = &B00100000 macht das gleiche.

Wenn der Port als Ausgang geschaltet ist, ist eigentlich nur das PORT-Register wichtig. Nach dem Schema PORTB.5 = 1 oder PORTB.5 = 0.

Ist der Pin ein Eingang, sind 2 Register wichtig: Das PIN-Register gibt die Information wieder, die an dem Anschluss anliegt. Eingänge also immer mit PINX.Y abfragen (!!). Wird am Anfang oft falsch gemacht!!
Mit dem PORT-Register schaltest Du den PullUp-Widerstand ein, wenn der Anschluss als Eingang konfiguriert ist. Also auch wichtig!!

Also für Deine Anwendung ganz konkret:


Code:
PORTD.2 = 1  'PullUp für D.2, Eingang ist er schon
DDRB.5 = 1   'B.5 als Ausgang

Do
If PIND.2 = 1 then
PORTB.5 = 1
else
PORTB.5=0
Loop

End
Etwas klarer jetzt?