Jump to main content

##

# 2.110.2 SERCOMx_USART_SerialSetup Function

## C

    /* x = SERCOM instance number */

    /* Blocking, non-blocking and ring buffer mode */

    bool SERCOMx_USART_SerialSetup(USART_SERIAL_SETUP * serialSetup, uint32_t clkFrequency)

## Summary

Sets up serial configurations for USART peripheral.

## Description

This function sets all the serial configurations of the peripheral. It provides run-time interface to configure the baud, parity, stop bits and data character size parameters of the serial connection. Calling this function when a serial communication is in progress can disrupt the communication. The caller should ensure that there is no serial communication in progress. In case of success, the function will update all parameters specified in the serialSetup parameter, even if some parameter may have not changed since a previous call to this function. In case of failure, all parameter stay unchanged.

## Precondition

SERCOMx_USART_Initialize must have been called for the associated USART instance.

## Parameters

Param | Description
--- | ---
serialSetup | Pointer to serial configuration data structure
clkFrequency | Input clock frequency to the Baud Rate Generator. If configured to zero PLIB takes the peripheral clock frequency from MCC

## Returns

true - Serial configuration was successful

false - The specified serial configuration could not be supported. This, for example, could happen if the requested baud is not supported.

## Example

    USART_SERIAL_SETUP setup = {
        115200,
        USART_DATA_8_BIT,
        USART_PARITY_ODD,
        USART_STOP_1_BIT
    };

    SERCOM0_USART_SerialSetup(&setup, 0);

## Remarks

srcClkFreq overrides any change in the peripheral clock frequency. If configured to zero PLib takes the peripheral clock frequency from MCC.