27.3.3.2.5 Auto-Baud
The auto-baud feature lets the USART configure its BAUD register based on input from a communication device, which allows the device to communicate autonomously with multiple devices communicating with different baud rates. The USART peripheral features two auto-baud modes: Generic Auto-Baud mode and LIN Constrained Auto-Baud mode.
Both auto-baud modes must receive an auto-baud frame, as seen in the figure below.
The break field is detected when 12 or more consecutive low cycles are sampled and notifies the USART that it is about to receive the synchronization field. After the break field, when the Start bit of the synchronization field is detected, a counter running at the peripheral clock speed is started. The counter is then incremented for the next eight Tbit of the synchronization field. When all eight bits are sampled, the counter is stopped. The resulting counter value is in effect the new BAUD register value.
When the USART Receive mode is set to GENAUTO (the RXMODE bit field in the USARTn.CTRLB
            register), the Generic Auto-Baud mode is enabled. In this mode, one can set the Wait For
            Break (WFB) bit in the USARTn.STATUS register to enable detection of a break field of
            any length (that is, also shorter than 12 cycles). This makes it possible to set an
            arbitrary new baud rate without knowing the current baud rate. If the measured sync
            field results in a valid BAUD value (0x0064 - 0xFFFF),
            the BAUD register is updated.
When USART Receive mode is set to LINAUTO mode (the RXMODE bit field in the USARTn.CTRLB
            register), it follows the LIN format. The WFB functionality of the Generic Auto-Baud
            mode is not compatible with the LIN Constrained Auto-Baud mode, which means that the
            received signal must be low for 12 peripheral clock cycles or more for a break field to
            be valid. When a break field has been detected, the USART expects the following
            synchronization field character to be 0x55. If the received
            synchronization field character is not 0x55, the Inconsistent Sync
            Field Error Flag (the ISFIF bit in the USARTn.STATUS register) is set, and the baud rate
            is unchanged.
