UART question

The datasheet makes no mention of fifos in the UART or USART sections. They can use DMA, however...

Looking at the source code, in RingBuffer.h:

#define SERIAL_BUFFER_SIZE 64

Also, it looks like buffering is only used for reception, not transmission. From UARTClass.cpp:

size_t UARTClass::write( const uint8_t uc_data )
{
  // Check if the transmitter is ready
  while ((_pUart->UART_SR & UART_SR_TXRDY) != UART_SR_TXRDY)
    ;

  // Send character
  _pUart->UART_THR = uc_data;
  return 1;
}

Hopefully this will soon change to buffered transmit like AVR has used since Arduino 1.0.