Hi Victor,
Honestly, your reply doesn't make any sense to me. A FIFO is a hardware buffer, nothing more. It allows the UART receiver to store more than 1 byte/word of data before an overflow occurs, and safeguards against the condition where the CPU may be busy servicing other higher-priority interrupts and cannot grab the first character before the second character arrives. Yes, if one allows the FIFO to fill up before servicing the interrupt, you do achieve lower ISR overhead. But in the types of applications I deal with (e.g. Modbus master/slave), I cannot think of any case where I would not want to be notified immediately when a single character arrives.
My assertion still stands: the statement in the Reference Manual that RXWATER "must be greater than 0" for "proper operation" is factually incorrect. I have the FIFO enabled and RXWATER set to zero, and the UART operates properly for my application. Disabling the FIFO is pointless; it simply increases the (admittedly small) probability that the UART might drop a character if the CPU is busy in other interrupts or critical sections while high-bitrate data is arriving.
Anyway, I've made my case. You can choose to fix the Reference Manual if you want. Have a good day.
David R.