Functions
Universal Asynchronous Receiver Transceiver (UART)

Functions

void uart_disable (Uart *p_uart)
 Disable UART receiver and transmitter. More...
 
void uart_disable_interrupt (Uart *p_uart, uint32_t ul_sources)
 Disable UART interrupts. More...
 
void uart_disable_rx (Uart *p_uart)
 Disable UART receiver. More...
 
void uart_disable_tx (Uart *p_uart)
 Disable UART transmitter. More...
 
void uart_enable (Uart *p_uart)
 Enable UART receiver and transmitter. More...
 
void uart_enable_interrupt (Uart *p_uart, uint32_t ul_sources)
 Enable UART interrupts. More...
 
void uart_enable_rx (Uart *p_uart)
 Enable UART receiver. More...
 
void uart_enable_tx (Uart *p_uart)
 Enable UART transmitter. More...
 
uint32_t uart_get_interrupt_mask (Uart *p_uart)
 Read UART interrupt mask. More...
 
Pdc * uart_get_pdc_base (Uart *p_uart)
 Get UART PDC base address. More...
 
uint32_t uart_get_status (Uart *p_uart)
 Get current status. More...
 
uint32_t uart_init (Uart *p_uart, const sam_uart_opt_t *p_uart_opt)
 Configure UART with the specified parameters. More...
 
uint32_t uart_is_rx_buf_end (Uart *p_uart)
 Check if one receive buffer is filled. More...
 
uint32_t uart_is_rx_buf_full (Uart *p_uart)
 Check if both receive buffers are full. More...
 
uint32_t uart_is_rx_ready (Uart *p_uart)
 Check if Received data is ready. Check if data has been received and loaded in UART_RHR. More...
 
uint32_t uart_is_tx_buf_empty (Uart *p_uart)
 Check if both transmit buffers are sent out. More...
 
uint32_t uart_is_tx_buf_end (Uart *p_uart)
 Check if one transmit buffer is sent out. More...
 
uint32_t uart_is_tx_empty (Uart *p_uart)
 Check if Transmit Hold Register is empty. Check if the last data written in UART_THR has been loaded in TSR and the last data loaded in TSR has been transmitted. More...
 
uint32_t uart_is_tx_ready (Uart *p_uart)
 Check if Transmit is Ready. Check if data has been loaded in UART_THR and is waiting to be loaded in the Transmit Shift Register (TSR). More...
 
uint32_t uart_read (Uart *p_uart, uint8_t *puc_data)
 Read from UART Receive Holding Register. Before reading user should check if rx is ready. More...
 
void uart_reset (Uart *p_uart)
 Reset UART receiver and transmitter. More...
 
void uart_reset_rx (Uart *p_uart)
 Reset UART receiver. More...
 
void uart_reset_status (Uart *p_uart)
 Reset status bits. More...
 
void uart_reset_tx (Uart *p_uart)
 Reset UART transmitter. More...
 
void uart_set_clock_divisor (Uart *p_uart, uint16_t us_divisor)
 Set UART clock divisor value. More...
 
uint32_t uart_write (Uart *p_uart, const uint8_t uc_data)
 Write to UART Transmit Holding Register Before writing user should check if tx is ready (or empty). More...
 

Detailed Description

The Universal Asynchronous Receiver Transmitter features a two-pin UART that can be used for communication and trace purposes and offers an ideal medium for in-situ programming solutions. Moreover, the association with two peripheral DMA controller (PDC) channels permits packet handling for these tasks with processor time reduced to a minimum.

Usage
  1. Enable the UART peripheral clock in the PMC.
  2. Enable the required UART PIOs (see pio.h).
  3. Configure the UART by calling uart_init.
  4. Send data through the UART using the uart_write.
  5. Receive data from the UART using the uart_read; the availability of data can be polled with uart_is_rx_ready.
  6. Disable the transmitter and/or the receiver of the UART with uart_disable_tx and uart_disable_rx.

Function Documentation

◆ uart_disable()

void uart_disable ( Uart p_uart)

Disable UART receiver and transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 192 of file uart.c.

◆ uart_disable_interrupt()

void uart_disable_interrupt ( Uart p_uart,
uint32_t  ul_sources 
)

Disable UART interrupts.

Parameters
p_uartPointer to a UART instance.
ul_sourcesInterrupts to be disabled.

Definition at line 225 of file uart.c.

◆ uart_disable_rx()

void uart_disable_rx ( Uart p_uart)

Disable UART receiver.

Parameters
p_uartPointer to a UART instance.

Definition at line 159 of file uart.c.

◆ uart_disable_tx()

void uart_disable_tx ( Uart p_uart)

Disable UART transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 126 of file uart.c.

◆ uart_enable()

void uart_enable ( Uart p_uart)

Enable UART receiver and transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 181 of file uart.c.

◆ uart_enable_interrupt()

void uart_enable_interrupt ( Uart p_uart,
uint32_t  ul_sources 
)

Enable UART interrupts.

Parameters
p_uartPointer to a UART instance.
ul_sourcesInterrupts to be enabled.

Definition at line 215 of file uart.c.

◆ uart_enable_rx()

void uart_enable_rx ( Uart p_uart)

Enable UART receiver.

Parameters
p_uartPointer to a UART instance.

Definition at line 148 of file uart.c.

◆ uart_enable_tx()

void uart_enable_tx ( Uart p_uart)

Enable UART transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 115 of file uart.c.

◆ uart_get_interrupt_mask()

uint32_t uart_get_interrupt_mask ( Uart p_uart)

Read UART interrupt mask.

Parameters
p_uartPointer to a UART instance.
Returns
The interrupt mask value.

Definition at line 236 of file uart.c.

◆ uart_get_pdc_base()

Pdc* uart_get_pdc_base ( Uart p_uart)

Get UART PDC base address.

Parameters
p_uartPointer to a UART instance.
Returns
UART PDC registers base for PDC driver to access.

Definition at line 420 of file uart.c.

◆ uart_get_status()

uint32_t uart_get_status ( Uart p_uart)

Get current status.

Parameters
p_uartPointer to a UART instance.
Returns
The current UART status.

Definition at line 248 of file uart.c.

◆ uart_init()

uint32_t uart_init ( Uart p_uart,
const sam_uart_opt_t p_uart_opt 
)

Configure UART with the specified parameters.

Note
The PMC and PIOs must be configured first.
Parameters
p_uartPointer to a UART instance.
p_uart_optPointer to sam_uart_opt_t instance.
Return values
0Success.
1Bad baud rate generator value.

Definition at line 81 of file uart.c.

◆ uart_is_rx_buf_end()

uint32_t uart_is_rx_buf_end ( Uart p_uart)

Check if one receive buffer is filled.

Parameters
p_uartPointer to a UART instance.
Return values
1Receive is completed.
0Receive is still pending.

Definition at line 382 of file uart.c.

◆ uart_is_rx_buf_full()

uint32_t uart_is_rx_buf_full ( Uart p_uart)

Check if both receive buffers are full.

Parameters
p_uartPointer to a UART instance.
Return values
1Receive buffers are full.
0Receive buffers are not full.

Definition at line 408 of file uart.c.

◆ uart_is_rx_ready()

uint32_t uart_is_rx_ready ( Uart p_uart)

Check if Received data is ready. Check if data has been received and loaded in UART_RHR.

Parameters
p_uartPointer to a UART instance.
Return values
1One data has been received.
0No data has been received.

Definition at line 302 of file uart.c.

◆ uart_is_tx_buf_empty()

uint32_t uart_is_tx_buf_empty ( Uart p_uart)

Check if both transmit buffers are sent out.

Parameters
p_uartPointer to a UART instance.
Return values
1Transmit buffer is empty.
0Transmit buffer is not empty.

Definition at line 315 of file uart.c.

◆ uart_is_tx_buf_end()

uint32_t uart_is_tx_buf_end ( Uart p_uart)

Check if one transmit buffer is sent out.

Parameters
p_uartPointer to a UART instance.
Return values
1Transmit is completed.
0Transmit is still pending.

Definition at line 395 of file uart.c.

◆ uart_is_tx_empty()

uint32_t uart_is_tx_empty ( Uart p_uart)

Check if Transmit Hold Register is empty. Check if the last data written in UART_THR has been loaded in TSR and the last data loaded in TSR has been transmitted.

Parameters
p_uartPointer to a UART instance.
Return values
1Transmitter is empty.
0Transmitter is not empty.

Definition at line 288 of file uart.c.

◆ uart_is_tx_ready()

uint32_t uart_is_tx_ready ( Uart p_uart)

Check if Transmit is Ready. Check if data has been loaded in UART_THR and is waiting to be loaded in the Transmit Shift Register (TSR).

Parameters
p_uartPointer to a UART instance.
Return values
1Data has been transmitted.
0Transmit is not ready, data pending.

Definition at line 273 of file uart.c.

◆ uart_read()

uint32_t uart_read ( Uart p_uart,
uint8_t *  puc_data 
)

Read from UART Receive Holding Register. Before reading user should check if rx is ready.

Parameters
p_uartPointer to a UART instance.
Return values
0Success.
1I/O Failure, UART is not ready.

Definition at line 362 of file uart.c.

◆ uart_reset()

void uart_reset ( Uart p_uart)

Reset UART receiver and transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 203 of file uart.c.

◆ uart_reset_rx()

void uart_reset_rx ( Uart p_uart)

Reset UART receiver.

Parameters
p_uartPointer to a UART instance.

Definition at line 170 of file uart.c.

◆ uart_reset_status()

void uart_reset_status ( Uart p_uart)

Reset status bits.

Parameters
p_uartPointer to a UART instance.

Definition at line 258 of file uart.c.

◆ uart_reset_tx()

void uart_reset_tx ( Uart p_uart)

Reset UART transmitter.

Parameters
p_uartPointer to a UART instance.

Definition at line 137 of file uart.c.

◆ uart_set_clock_divisor()

void uart_set_clock_divisor ( Uart p_uart,
uint16_t  us_divisor 
)

Set UART clock divisor value.

Parameters
p_uartPointer to a UART instance.
us_divisorValue to be set.

Definition at line 327 of file uart.c.

◆ uart_write()

uint32_t uart_write ( Uart p_uart,
const uint8_t  uc_data 
)

Write to UART Transmit Holding Register Before writing user should check if tx is ready (or empty).

Parameters
p_uartPointer to a UART instance.
dataData to be sent.
Return values
0Success.
1I/O Failure, UART is not ready.

Definition at line 342 of file uart.c.



inertial_sense_ros
Author(s):
autogenerated on Sun Feb 28 2021 03:18:01