| Zeile 1: | Zeile 1: | ||
| − | + | int fifo_get_nowait (fifo_t *b) | |
| − | int fifo_get_nowait (fifo_t *b) | + | |
Liefert das nächste Byte aus der FIFO als int bzw. -1, falls die FIFO leer ist. | Liefert das nächste Byte aus der FIFO als int bzw. -1, falls die FIFO leer ist. | ||
Was machst du, wenn FF gespeichert ist ? oder muß das nur für Text gehen ? | Was machst du, wenn FF gespeichert ist ? oder muß das nur für Text gehen ? | ||
--PicNick 18:16, 4. Mär 2006 (CET) | --PicNick 18:16, 4. Mär 2006 (CET) | ||
| + | |||
---- | ---- | ||
| + | |||
| + | Wenn FF gespeichert ist, wird FF zurück geliefert. Die FIFOs speichern ihre Werte als unsigned. Der return-Wert ist int, mithin ist also <tt>255 != -1</tt>. | ||
| + | Will man ein <tt>char</tt> lesen, dann so: | ||
| + | <pre> | ||
| + | char zeichen; | ||
| + | int value; | ||
| + | if (value = fifo_get_nowait (&fifo), value >= 0) | ||
| + | zeichen = (char) value; | ||
| + | </pre> | ||
| + | bzw. man schreibt <tt>value</tt> direkt nach UDR oder wohin auch immer. --[[Benutzer:SprinterSB|SprinterSB]] 19:04, 4. Mär 2006 (CET) | ||
Version vom 4. März 2006, 19:04 Uhr
int fifo_get_nowait (fifo_t *b)
Liefert das nächste Byte aus der FIFO als int bzw. -1, falls die FIFO leer ist.
Was machst du, wenn FF gespeichert ist ? oder muß das nur für Text gehen ? --PicNick 18:16, 4. Mär 2006 (CET)
Wenn FF gespeichert ist, wird FF zurück geliefert. Die FIFOs speichern ihre Werte als unsigned. Der return-Wert ist int, mithin ist also 255 != -1. Will man ein char lesen, dann so:
char zeichen; int value; if (value = fifo_get_nowait (&fifo), value >= 0) zeichen = (char) value;
bzw. man schreibt value direkt nach UDR oder wohin auch immer. --SprinterSB 19:04, 4. Mär 2006 (CET)