I'm trying to understand the serial receive buffer capacity.
In the datasheet Section 20.2 I find the text:
The Receiver is the most complex part of the USART module due to its clock and data recovery units. The
recovery units are used for asynchronous data reception. In addition to the recovery units, the Receiver includes a Parity Checker, Control logic, a Shift Register and a two level receive buffer (UDRn).
Yet when i look at the arduino reference the text says:
Reference > Language > Functions > Communication > Serial > Available Serial.available()
Get the number of bytes (characters) available for reading from the serial port. This is data that’s already arrived and stored in the serial receive buffer (which holds 64 bytes).
Serial.available() inherits from the Stream utility class.
So is the processor 2 byte register read and stored in a 64 byte register just waiting to read.