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) |
Enable UART optical interface. More... | |
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) |
Disable UART optical interface. 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_optical_interface (Uart *p_uart) |
Enable UART optical interface. 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. 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. 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) |
Set sleepwalking match mode. More... | |
void | uart_set_write_protection (Uart *p_uart, bool flag) |
Enables/Disables write protection mode. 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... | |
#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.