If Anweisung wird übersprungen

OP #1502566
Lesenswert?

Hallo Freunde,

Hab momentan ein Problem wo ich nicht weiterkomme. Ich möchte durch 
einen Tastendruck (PORTD) meinen PIN0 an PORTB toggeln. Aber irgendwie 
klappts nich. Er überspringt immer die if Anweisung.

Wär schön, wenn mir einer weiterhelfen könnte.

Hier der Code:

while(1)
  {

DDRB=0xff;
PORTB=0xff;
DDRD=0x00;
PORTD=0x00;

  if (PORTD = 0x01) PORTB ^= (1<<PB0);
  }
Gast #1502576
Lesenswert?

Hallo,
'=' ist eine Zuweisung... du weist PORTD null zu und anschließend wird 
der Ausdruck überprüft (ob false oder true... gleich null oder ungleich 
null). Du willst vermutlich '==' und nicht '='.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren