Schleifenabfrage

Gast #1955131
Lesenswert?

1
UInt8 *pu8Key;
2

3
while(*pu8Key != 'C' || *pu8Key != 'O'){
4
    
5
  KBD_Read(pu8Key);  
6
  
7
  xil_printf("%c\n",*pu8Key);
8
}

Hallo,

kann mir jemadn helfen warum die Schleife bei entsprechenden tastendruck 
(wird richtig erkannt) nicht beendet wird. ich denke es liegt an der 
abfrage. ich habe auch schon versucht die variable als volatile zu 
benutzen.

hans
Gast #1955147
Lesenswert?

>while(*pu8Key != 'C' || *pu8Key != 'O')

while((*pu8Key != 'C') && (*pu8Key != 'O')) ...

oder

while( ! ((*pu8Key == 'C') || (*pu8Key == 'O')) ) ...

nutzen.

Besser ist übrigens eine schwanzgesteuerte Schleife (do...while), u.U. 
wird die Funktion Read sonst nämlich gar nicht aufgerufen (je nach 
Inhalt der Variable). Großschreibung beachten bitte!

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