Forum: Mikrocontroller und Digitale Elektronik while scheife verbessern


von Bergie B. (bergie)


Lesenswert?

ich habe:
1
a=0;
2
while (!(P2IN & 0x80)) {
3
  if(a++>0xFFF0) {
4
   break;
5
  }
6
}

würde das ganze gerne auf weniger Zeilen bringen.

ich will also eine gewisse zeit auf den Pint P2IN&0x80 warten

fals er aber nicht kommen sollte soll es auch weiter im code gehen.







kann mir mal einer helfen ?

danke schonmal!

von Timmo H. (masterfx)


Lesenswert?

weniger Zeilen? Kein Problem, C ignoriert ja Whitespace:
1
a=0; while (!(P2IN & 0x80)) { if(a++>0xFFF0) { break; } }
;-)

Anders könnte man das so machen:
1
while(!(P2IN & 0x80) && a++ < 0xFFF0));

von Daniel G. (daniel83)


Lesenswert?

1
for ( a=0; (a<0xFFF0)&& ( ! (P2IN & 0x80) ) ; a++);
so müsste es gehen

wenns nur weniger Zeilen sein sollen
1
a=0;
2
while (!(P2IN & 0x80)) {  if(a++>0xFFF0) {   break;  }}

aber ich glaub das ist nicht die Lösung die du suchst

von Daniel G. (daniel83)


Lesenswert?

Besser wird die while schleife dadurch aber nicht, höchstens kleiner

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.