Try not to fall into the trap of being limited to a 16-character FIFO. Check if a read is ready before reading.