ja die stiche sind es.
ist ein kompilerfehler dabei?
schreibs mal mit klammern so um:
if ( (PINA & (1<<PINA1)) || (PINA & (1<<PINA5)) )
mfg
Hallo ,
ich hab da ein kleines Problem, und zwar will ich mit einer if abfrage 2 ports abfragen. Also wenn einer von den beiden bedingungen erfüllt ist soll die if schleife ausgeführt werden. Muss ja irgentwie mit einem "oder" gemacht werden. Glaub das war in C diese beiden Striche || .
Ich hab mir das so gedacht, aber irgentwie funzt das nicht :
Code:if ( PINA & (1<<PINA1) || PINA & (1<<PINA5) ) { PORTC &=~(1<<3); }
Vieleicht kann mir ja einer helfen =D>
Kann natürlich auch 2 getrennt if abfragen machen, das funktioniert auch, aber möchte das gerne so haben
ja die stiche sind es.
ist ein kompilerfehler dabei?
schreibs mal mit klammern so um:
if ( (PINA & (1<<PINA1)) || (PINA & (1<<PINA5)) )
mfg
Zitat von Superhirn
Hallo ,
nein hat mir kein fehler angezeigt. Werd dein Tipp gleich ausprobieren und dann schreiben obs geklappt hat.
hi,
ne dein Tipp mit den Klammern hat leider nicht geklappt. Schade.
Hat sonst noch einer eine Idee??
Was hast du denne vorher geschrieben? Wie hast du dein DDR und deine pullups gesetzt?
so:
Code:DDRA=0x00; // Port A als Eingang PORTA=0xff; // Pull-ups auf Port A ein DDRC=0xff; // Port C als Ausgang PORTC=0x00; // Alle Pins auf Port C auf low
was ist mit dem ausrufezeichen?
if((!(PINA........)) || (!(PINA........)))
{PORTC &=~(1<<3);}
Ziehst du auf Masse?
Lesezeichen