Forum: Compiler & IDEs Scanf ohne zu warten!


von Holzi (Gast)


Lesenswert?

Hi, beim Einlesen wartet folgender Code immer darauf, bis ich etwas 
eingeben habe. Gibt es eine Funktion die nicht wartet und einfach weiter 
läuft in einer Schleife?
1
int a = 1;
2
    do
3
    {
4
        printf("TEST: %i",a);
5
        usleep(10000);
6
        scanf("%i",&a);
7
    }while(1);

von me (Gast)


Lesenswert?

Welche Controller & Compiler?

Bei einem AVR kannst du das RXC-Bit in UCSRA testen.
Die Frage ist, was hinter scanf steckt. Einige Libs nutzen Interrupt mit 
Empfangsbuffer. In diesem Fall kannst du z.B. vorher die Bufferlänge 
abfragen.
Vermutlich macht getchar() eher was du willst.

Ansonsten -> 
http://www.mikrocontroller.net/articles/AVR-Tutorial:_UART#Empfangen_von_Zeichen_per_Polling 
oder Controllerdatenblatt bzw. Compilerhilfe

von Holzi (Gast)


Lesenswert?

Ich benutze NIOS II.

von Andreas H. (andreas_h16)


Lesenswert?

getc, so aus dem Bauch heraus ...

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.