Hallo,

//schaltet nur PB0 wie Ausgang (bit 0 in DDRB hoch)
DDRB|=(1<<PB0);

//schaltet nur PB0 wie Eingang (bit 0 in DDRB niedrich)
DDRB&=~(1<<PB0);

//schaltet nur PB0 hoch
PORTB|=(1<<PB0);

//schaltet nur PB0 niedrich
PORTB&=~(1<<PB0);

//tested ob port PB0 hoch ist
if ( PINB & (1<<PB0) ) { //mach etwas }

//tested ob port PB0 niedrich ist
if ( ! ( PINB & (1<<PB0) ) ) { //mach etwas }

Die ports liefern maximal 20mA damit kann mann keine Motoren gerade ansteurn. Aber LED's ansteuern geht prima.

Mann kann ports an VCC oder GND anschliessen aber bitte nur
wenn der port wie EINGANG geschaltet ist. Denn wenn ein Port wie Ausgang geschaltet ist wahrend er auch an VCC oder GND angeschlossen ist, dann geht die Ausgang/Treiber kaput.

Wenn ein Port wie Eingang geschaltet ist (mittels 'DDRB') und hoch gemacht wird (mittels 'PORTB') dann wird ein eingebautes pull-up Widerstand van zirka 20-50KOhm zum VCC eingeschaltet.


Gruss

Henk