Hallo,

was ich immer vergesse ist folgendes.

Vorbild: Port D
Schreibt man ein Bit zu diesen Port dan benutzt man PORTD.
Liest man ein Bit aus diesen Port dan benutzt man PIND (!!!)

PIND gibt die richtige Wert auf die Port.
Wenn mann PORTD liest, liest mann die vorher programmierten Wert.

Vorbild: (ohne test, kein garantie )

  • //Port PD0 ist verbunden mit CNY37 und port PD1 ist verbunden mit einem //Led.

    DDRD=0x02; //bit PD0= Eingang, bit PD1 ist Ausgang

    if(PIND&(1<<PD0)){ //wenn PD0 Hoch ist

    PORTD|=(1<<PD1); //mach port PD1 Hoch = Led an

    }
    else{ //wenn PD0 Niedrich ist

    PORTD&=~(1<<PD1); //mach port PD1 Niedrich = Led aus

    }

Gruss

Henk