Universal Asynchronous Receiver Transceiver (UART) driver for SAM.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
#include "compiler.h"
Data Structures | |
struct | sam_uart_opt |
Option list for UART peripheral initialization. More... | |
struct | uart_config_optical |
Macros | |
#define | UART_MCK_DIV 16 |
#define | UART_MCK_DIV_MAX_FACTOR 65535 |
#define | UART_MCK_DIV_MIN_FACTOR 1 |
Typedefs | |
typedef struct sam_uart_opt | sam_uart_opt_t |
Option list for UART peripheral initialization. More... | |
Enumerations | |
enum | uart_optical_cmp_threshold { UART_RX_CMP_THRESHOLD_VDDIO_DIV_10_0 = UART_MR_OPT_CMPTH_VDDIO_DIV10, UART_RX_CMP_THRESHOLD_VDDIO_DIV_5_0 = UART_MR_OPT_CMPTH_VDDIO_DIV5, UART_RX_CMP_THRESHOLD_VDDIO_DIV_3_3 = UART_MR_OPT_CMPTH_VDDIO_DIV3P3, UART_RX_CMP_THRESHOLD_VDDIO_DIV_2_5 = UART_MR_OPT_CMPTH_VDDIO_DIV2P5, UART_RX_CMP_THRESHOLD_VDDIO_DIV_2_0 = UART_MR_OPT_CMPTH_VDDIO_DIV2 } |
enum | uart_optical_duty_cycle { UART_MOD_CLK_DUTY_50_00 = UART_MR_OPT_DUTY_DUTY_50, UART_MOD_CLK_DUTY_43_75 = UART_MR_OPT_DUTY_DUTY_43P75, UART_MOD_CLK_DUTY_37_50 = UART_MR_OPT_DUTY_DUTY_37P5, UART_MOD_CLK_DUTY_31_25 = UART_MR_OPT_DUTY_DUTY_31P25, UART_MOD_CLK_DUTY_25_00 = UART_MR_OPT_DUTY_DUTY_25, UART_MOD_CLK_DUTY_18_75 = UART_MR_OPT_DUTY_DUTY_18P75, UART_MOD_CLK_DUTY_12_50 = UART_MR_OPT_DUTY_DUTY_12P5, UART_MOD_CLK_DUTY_06_25 = UART_MR_OPT_DUTY_DUTY_6P25 } |
Functions | |
void | uart_config_optical_interface (Uart *p_uart, struct uart_config_optical *cfg) |
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_optical_interface (Uart *p_uart) |
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_optical_interface (Uart *p_uart) |
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) |
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) |
uint32_t | uart_is_rx_buf_full (Uart *p_uart) |
uint32_t | uart_is_rx_ready (Uart *p_uart) |
Check if Received data is ready. 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) |
uint32_t | uart_is_tx_empty (Uart *p_uart) |
Check if Transmit Hold Register is empty. More... | |
uint32_t | uart_is_tx_ready (Uart *p_uart) |
Check if Transmit is Ready. More... | |
uint32_t | uart_read (Uart *p_uart, uint8_t *puc_data) |
Read from UART Receive Holding Register. 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... | |
void | uart_set_sleepwalking (Uart *p_uart, uint8_t ul_low_value, bool cmpmode, bool cmppar, uint8_t ul_high_value) |
void | uart_set_write_protection (Uart *p_uart, bool flag) |
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... | |
#define UART_MCK_DIV 16 |
Referenced by uart_init().
#define UART_MCK_DIV_MAX_FACTOR 65535 |
Referenced by uart_init().
#define UART_MCK_DIV_MIN_FACTOR 1 |
typedef struct sam_uart_opt sam_uart_opt_t |
Option list for UART peripheral initialization.
void uart_config_optical_interface | ( | Uart * | p_uart, |
struct uart_config_optical * | cfg | ||
) |
void uart_disable_optical_interface | ( | Uart * | p_uart | ) |
void uart_enable_optical_interface | ( | Uart * | p_uart | ) |
Pdc* uart_get_pdc_base | ( | Uart * | p_uart | ) |
uint32_t uart_is_rx_buf_end | ( | Uart * | p_uart | ) |
uint32_t uart_is_rx_buf_full | ( | Uart * | p_uart | ) |
uint32_t uart_is_tx_buf_end | ( | Uart * | p_uart | ) |
void uart_set_sleepwalking | ( | Uart * | p_uart, |
uint8_t | ul_low_value, | ||
bool | cmpmode, | ||
bool | cmppar, | ||
uint8_t | ul_high_value | ||
) |
void uart_set_write_protection | ( | Uart * | p_uart, |
bool | flag | ||
) |