hi,
ich hab mir selbst ein fifo-buffer programmiert und ich bin mir nicht sicher warum das hier so ist: wenn ich diesen code hier benutze (auszug aus main())
dann bekomm ich beim übertragen immer fehler in form von daten die nicht im fifo-buffer stehen. benutz ich aber folgenden code, der ja theoretisch das gleiche ist bekomm ich eine saubere übertragung:Code:while(TRUE) { int8_t data = 0xFF; if(fifo_pop(fifo_rx, &data) == FIFO_SUCCESS) { uart_putc(data); } }
ich hab den fifo-buffer mal in einem C-Programm implementiert und getest - scheint zu funktionieren. hier der code: http://nopaste.debianforum.de/6098Code:while(TRUE) { int8_t *data = (int8_t*) malloc(1); if(fifo_pop(fifo_rx, data) == FIFO_SUCCESS) { uart_putc(*data); } free(data); }
die ausgabe von dem prgramm sieht so aus:
was meint ihr dazu?Code:104 97 108 108 111 97 98 99 0 ---------------------------- h ---------------------------- 97 108 108 111 97 98 99 0 0
mfg blan







Zitieren

Lesezeichen