I can't speak for linux, but I have been bitten by FIFO watermark interrupts on micros before. If you set an interrupt for a 3/4 full FIFO, the last one or two characters will sit in the receive buffer and never trigger the RX interrupt. For a command -> response device which doesn't have a constant data-stream, It isn't until a PC application resends the command sequence that enough characters are in the FIFO to trigger the watermark interrupt. The easy fix was to interrupt on any single character being available, but would have been nice to have a timeout interrupt on a partially full FIFO.
On Mon, Jul 18, 2016 at 9:59 PM, Hal Murray <[email protected]> wrote: > > [email protected] said: > > except that virtually every UART in use today has some sort of buffering > > (whether a FIFO or double buffering) between the CPU interface and the > bits > > on the wire, which completely desynchronizes the bits on the wire from > the > > CPU interface. > > The idea was to reduce the CPU load processing interrupts by batching > things > up. > > Some of those chips generate an interrupt when the see a return or > line-feed > character. > > Most of them have an option to disable that batching. On Linux the > setserial > command has a low_latency option. I haven't measured the difference. It > would be a fun experiment. > > > -- > These are my opinions. I hate spam. > > > > _______________________________________________ > time-nuts mailing list -- [email protected] > To unsubscribe, go to > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. > _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
