SAMV71 Xplained Ultra Software Package 1.3

usart.c File Reference

#include "chip.h"
#include <assert.h>
#include <string.h>

Go to the source code of this file.

Functions

void USART_SetBaudrate (Usart *pUsart, uint8_t OverSamp, uint32_t baudrate, uint32_t masterClock)
 Configures an USART baudrate.
void USART_Configure (Usart *pUsart, uint32_t mode, uint32_t baudrate, uint32_t masterClock)
 Configures an USART peripheral with the specified parameters.
void USART_SetTransmitterEnabled (Usart *pUsart, uint8_t enabled)
 Enables or disables the transmitter of an USART peripheral.
void USART_DisableRx (Usart *pUsart)
 Disables the Receiver of an USART peripheral.
void USART_DisableTx (Usart *pUsart)
 Disables the transmitter of an USART peripheral.
void USART_EnableRx (Usart *pUsart)
 Enables the Receiver of an USART peripheral.
void USART_EnableTx (Usart *pUsart)
 Enables the transmitter of an USART peripheral.
void USART_ResetRx (Usart *pUsart)
 Resets or disables the Receiver of an USART peripheral.
void USART_ResetTx (Usart *pUsart)
 resets and disables the transmitter of an USART peripheral.
void USART_SetReceiverEnabled (Usart *pUsart, uint8_t enabled)
 Enables or disables the receiver of an USART peripheral.
void USART_SetRTSEnabled (Usart *pUsart, uint8_t enabled)
 Enables or disables the Request To Send (RTS) of an USART peripheral.
void USART_Write (Usart *pUsart, uint16_t data, volatile uint32_t timeOut)
 Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.
uint16_t USART_Read (Usart *pUsart, volatile uint32_t timeOut)
 Reads and return a packet of data on the specified USART peripheral. This function operates asynchronously, so it waits until some data has been received.
uint8_t USART_IsDataAvailable (Usart *pUsart)
 Returns 1 if some data has been received and can be read from an USART; otherwise returns 0.
void USART_PutChar (Usart *pUsart, uint8_t c)
 Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.
uint32_t USART_IsRxReady (Usart *pUsart)
 Return 1 if a character can be read in USART.
uint32_t USART_GetStatus (Usart *pUsart)
 Get present status.
void USART_EnableIt (Usart *pUsart, uint32_t mode)
 Enable interrupt.
void USART_DisableIt (Usart *pUsart, uint32_t mode)
 Disable interrupt.
uint32_t USART_GetItMask (Usart *pUsart)
 Return interrupt mask.
uint8_t USART_GetChar (Usart *pUsart)
 Reads and returns a character from the USART.
void USART_EnableRecvTimeOut (Usart *pUsart, uint32_t Timeout)
 Enable Rx Timeout for USART.
void USART_EnableTxTimeGaurd (Usart *pUsart, uint32_t TimeGaurd)
 Enable Tx Timeout for USART.
void USART_AcknowledgeRxTimeOut (Usart *pUsart, uint8_t Periodic)
 Acknowledge Rx timeout and sets to Idle or periodic repetitive state.

Detailed Description

Implementation of USART (Universal Synchronous Asynchronous Receiver Transmitter) controller.

Definition in file usart.c.


Function Documentation

void USART_AcknowledgeRxTimeOut ( Usart pUsart,
uint8_t  Periodic 
)

Acknowledge Rx timeout and sets to Idle or periodic repetitive state.

Parameters:
pUsart Pointer to an USART peripheral.
Periodic If timeout is periodic or should wait for new char
Returns:
None

Definition at line 459 of file usart.c.

void USART_Configure ( Usart pUsart,
uint32_t  mode,
uint32_t  baudrate,
uint32_t  masterClock 
)

Configures an USART peripheral with the specified parameters.

Parameters:
pUsart Pointer to the USART peripheral to configure.
mode Desired value for the USART mode register (see the datasheet).
baudrate Baudrate at which the USART should operate (in Hz).
masterClock Frequency of the system master clock (in Hz).

Definition at line 135 of file usart.c.

Here is the call graph for this function:

void USART_DisableIt ( Usart pUsart,
uint32_t  mode 
)

Disable interrupt.

Parameters:
pUsart Pointer to an USART peripheral.
mode Interrupt mode.

Definition at line 390 of file usart.c.

void USART_DisableRx ( Usart pUsart  ) 

Disables the Receiver of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 181 of file usart.c.

void USART_DisableTx ( Usart pUsart  ) 

Disables the transmitter of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 192 of file usart.c.

void USART_EnableIt ( Usart pUsart,
uint32_t  mode 
)

Enable interrupt.

Parameters:
pUsart Pointer to an USART peripheral.
mode Interrupt mode.

Definition at line 380 of file usart.c.

void USART_EnableRecvTimeOut ( Usart pUsart,
uint32_t  Timeout 
)

Enable Rx Timeout for USART.

Parameters:
pUsart Pointer to an USART peripheral.
Timeout Timeout value
Returns:
None

Definition at line 424 of file usart.c.

void USART_EnableRx ( Usart pUsart  ) 

Enables the Receiver of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 202 of file usart.c.

void USART_EnableTx ( Usart pUsart  ) 

Enables the transmitter of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 213 of file usart.c.

void USART_EnableTxTimeGaurd ( Usart pUsart,
uint32_t  TimeGaurd 
)

Enable Tx Timeout for USART.

Parameters:
pUsart Pointer to an USART peripheral.
TimeGaurd TimeGaurd value
Returns:
None

Definition at line 443 of file usart.c.

uint8_t USART_GetChar ( Usart pUsart  ) 

Reads and returns a character from the USART.

Note:
This function is synchronous (i.e. uses polling).
Parameters:
pUsart Pointer to an USART peripheral.
Returns:
Character received.

Definition at line 411 of file usart.c.

uint32_t USART_GetItMask ( Usart pUsart  ) 

Return interrupt mask.

Parameters:
pUsart Pointer to an USART peripheral.

Definition at line 399 of file usart.c.

uint32_t USART_GetStatus ( Usart pUsart  ) 

Get present status.

Parameters:
pUsart Pointer to an USART peripheral.

Definition at line 370 of file usart.c.

uint8_t USART_IsDataAvailable ( Usart pUsart  ) 

Returns 1 if some data has been received and can be read from an USART; otherwise returns 0.

Parameters:
pUsart Pointer to an USART instance.

Definition at line 328 of file usart.c.

uint32_t USART_IsRxReady ( Usart pUsart  ) 

Return 1 if a character can be read in USART.

Parameters:
pUsart Pointer to an USART peripheral.

Definition at line 361 of file usart.c.

void USART_PutChar ( Usart pUsart,
uint8_t  c 
)

Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.

Parameters:
pUsart Pointer to an USART peripheral.
c Character to send

Definition at line 345 of file usart.c.

uint16_t USART_Read ( Usart pUsart,
volatile uint32_t  timeOut 
)

Reads and return a packet of data on the specified USART peripheral. This function operates asynchronously, so it waits until some data has been received.

Parameters:
pUsart Pointer to an USART peripheral.
timeOut Time out value (0 -> no timeout).

Definition at line 306 of file usart.c.

void USART_ResetRx ( Usart pUsart  ) 

Resets or disables the Receiver of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 223 of file usart.c.

void USART_ResetTx ( Usart pUsart  ) 

resets and disables the transmitter of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral

Definition at line 235 of file usart.c.

void USART_SetBaudrate ( Usart pUsart,
uint8_t  OverSamp,
uint32_t  baudrate,
uint32_t  masterClock 
)

Configures an USART baudrate.

Parameters:
pUsart Pointer to the USART peripheral to configure.
baudrate Baudrate at which the USART should operate (in Hz).
masterClock Frequency of the system master clock (in Hz).

Definition at line 62 of file usart.c.

void USART_SetReceiverEnabled ( Usart pUsart,
uint8_t  enabled 
)

Enables or disables the receiver of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral
enabled If true, the receiver is enabled; otherwise it is disabled.

Definition at line 246 of file usart.c.

void USART_SetRTSEnabled ( Usart pUsart,
uint8_t  enabled 
)

Enables or disables the Request To Send (RTS) of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral
enabled If true, the RTS is enabled (0); otherwise it is disabled.

Definition at line 262 of file usart.c.

void USART_SetTransmitterEnabled ( Usart pUsart,
uint8_t  enabled 
)

Enables or disables the transmitter of an USART peripheral.

Parameters:
pUsart Pointer to an USART peripheral
enabled If true, the transmitter is enabled; otherwise it is disabled.

Definition at line 167 of file usart.c.

void USART_Write ( Usart pUsart,
uint16_t  data,
volatile uint32_t  timeOut 
)

Sends one packet of data through the specified USART peripheral. This function operates synchronously, so it only returns when the data has been actually sent.

Parameters:
pUsart Pointer to an USART peripheral.
data Data to send including 9nth bit and sync field if necessary (in the same format as the US_THR register in the datasheet).
timeOut Time out value (0 = no timeout).

Definition at line 282 of file usart.c.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines