Hallo zusammen, ich bin blutiger Anfänger, also bitte um Nachsicht ;-) In einem Programm möchte ich warten, bis auf PIND die letzten drei Bits 1 sind. Meine Frage: Warum tut es so:
1 | while(~PIND & 0b00000111){warte();} |
aber nicht so:
1 | while((PIND << 5) != 0b11100000){warte();} |
Die obere Bedingung wird false, wenn alle drei Bits 1 sind, wie gewünscht. Die untere Bedingung wird aber nie false, also die while-Schleife nie verlassen. Danke schonmal, Martin