Universal Synchronous Asynchronous Receiver Transmitter (USART) driver for SAM. More...
#include "compiler.h"
Go to the source code of this file.
Classes | |
struct | sam_usart_opt_t |
struct | usart_iso7816_opt_t |
struct | usart_spi_opt_t |
Macros | |
#define | SPI_CPHA (1 << 0) |
#define | SPI_CPOL (1 << 1) |
#define | SPI_MODE_0 0 |
#define | SPI_MODE_1 (SPI_CPHA) |
#define | SPI_MODE_2 (SPI_CPOL) |
#define | SPI_MODE_3 (SPI_CPOL | SPI_CPHA) |
Functions | |
void | usart_disable_interrupt (Usart *p_usart, uint32_t ul_sources) |
Disable USART interrupts. More... | |
void | usart_disable_rx (Usart *p_usart) |
Disable USART receiver. More... | |
void | usart_disable_tx (Usart *p_usart) |
Disable USART transmitter. More... | |
void | usart_disable_writeprotect (Usart *p_usart) |
Disable write protect of USART registers. More... | |
void | usart_drive_RTS_pin_high (Usart *p_usart) |
Drive the pin RTS to 1. More... | |
void | usart_drive_RTS_pin_low (Usart *p_usart) |
Drive the pin RTS to 0. More... | |
void | usart_enable_interrupt (Usart *p_usart, uint32_t ul_sources) |
Enable USART interrupts. More... | |
void | usart_enable_rx (Usart *p_usart) |
Enable USART receiver. More... | |
void | usart_enable_tx (Usart *p_usart) |
Enable USART transmitter. More... | |
void | usart_enable_writeprotect (Usart *p_usart) |
Enable write protect of USART registers. More... | |
uint8_t | usart_get_error_number (Usart *p_usart) |
Get the total number of errors that occur during an ISO7816 transfer. More... | |
uint32_t | usart_get_interrupt_mask (Usart *p_usart) |
Read USART interrupt mask. More... | |
Pdc * | usart_get_pdc_base (Usart *p_usart) |
Get USART PDC base address. More... | |
uint32_t | usart_get_status (Usart *p_usart) |
Get current status. More... | |
uint32_t | usart_get_writeprotect_status (Usart *p_usart) |
Get write protect status. More... | |
uint32_t | usart_getchar (Usart *p_usart, uint32_t *c) |
Read from USART Receive Holding Register. Before reading user should check if rx is ready. More... | |
uint32_t | usart_init_hw_handshaking (Usart *p_usart, const sam_usart_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in hardware handshaking mode. More... | |
uint32_t | usart_init_irda (Usart *p_usart, const sam_usart_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in IrDA mode. More... | |
uint32_t | usart_init_iso7816 (Usart *p_usart, const usart_iso7816_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in ISO7816 mode. More... | |
uint32_t | usart_init_rs232 (Usart *p_usart, const sam_usart_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in RS232 mode. More... | |
uint32_t | usart_init_rs485 (Usart *p_usart, const sam_usart_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in RS485 mode. More... | |
uint32_t | usart_init_spi_master (Usart *p_usart, const usart_spi_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in SPI mode and act as a master. More... | |
uint32_t | usart_init_spi_slave (Usart *p_usart, const usart_spi_opt_t *p_usart_opt) |
Configure USART to work in SPI mode and act as a slave. More... | |
uint32_t | usart_init_sync_master (Usart *p_usart, const sam_usart_opt_t *p_usart_opt, uint32_t ul_mck) |
Configure USART to work in SYNC mode and act as a master. More... | |
uint32_t | usart_init_sync_slave (Usart *p_usart, const sam_usart_opt_t *p_usart_opt) |
Configure USART to work in SYNC mode and act as a slave. More... | |
uint32_t | usart_is_rx_buf_end (Usart *p_usart) |
Check if one receive buffer is filled. More... | |
uint32_t | usart_is_rx_buf_full (Usart *p_usart) |
Check if both receive buffers are full. More... | |
uint32_t | usart_is_rx_ready (Usart *p_usart) |
Check if the received data are ready. Check if Data have been received and loaded into USART_RHR. More... | |
uint32_t | usart_is_tx_buf_empty (Usart *p_usart) |
Check if both transmit buffers are empty. More... | |
uint32_t | usart_is_tx_buf_end (Usart *p_usart) |
Check if one transmit buffer is empty. More... | |
uint32_t | usart_is_tx_empty (Usart *p_usart) |
Check if Transmit Holding Register is empty. Check if the last data written in USART_THR have been loaded in TSR and the last data loaded in TSR have been transmitted. More... | |
uint32_t | usart_is_tx_ready (Usart *p_usart) |
Check if Transmit is Ready. Check if data have been loaded in USART_THR and are waiting to be loaded into the Transmit Shift Register (TSR). More... | |
uint32_t | usart_putchar (Usart *p_usart, uint32_t c) |
Write to USART Transmit Holding Register. More... | |
uint32_t | usart_read (Usart *p_usart, uint32_t *c) |
Read from USART Receive Holding Register. More... | |
void | usart_reset (Usart *p_usart) |
Reset the USART and disable TX and RX. More... | |
void | usart_reset_iterations (Usart *p_usart) |
Reset the ITERATION in US_CSR when the ISO7816 mode is enabled. More... | |
void | usart_reset_nack (Usart *p_usart) |
Reset NACK in US_CSR. More... | |
void | usart_reset_rx (Usart *p_usart) |
Immediately stop and disable USART receiver. More... | |
void | usart_reset_status (Usart *p_usart) |
Reset status bits (PARE, OVER, MANERR, UNRE and PXBRK in US_CSR). More... | |
void | usart_reset_tx (Usart *p_usart) |
Immediately stop and disable USART transmitter. More... | |
void | usart_restart_rx_timeout (Usart *p_usart) |
Restart the receive timeout. More... | |
uint32_t | usart_send_address (Usart *p_usart, uint32_t ul_addr) |
In Multidrop mode only, the next character written to the US_THR is sent with the address bit set. More... | |
uint32_t | usart_set_async_baudrate (Usart *p_usart, uint32_t baudrate, uint32_t ul_mck) |
Calculate a clock divider(CD) and a fractional part (FP) for the USART asynchronous modes to generate a baudrate as close as possible to the baudrate set point. More... | |
void | usart_set_rx_timeout (Usart *p_usart, uint32_t timeout) |
Configure the receive timeout register. More... | |
void | usart_set_tx_timeguard (Usart *p_usart, uint32_t timeguard) |
Configure the transmit timeguard register. More... | |
void | usart_spi_force_chip_select (Usart *p_usart) |
Drive the slave select line NSS (RTS pin) to 0 in SPI master mode. More... | |
void | usart_spi_release_chip_select (Usart *p_usart) |
Drive the slave select line NSS (RTS pin) to 1 in SPI master mode. More... | |
void | usart_start_rx_timeout (Usart *p_usart) |
Start waiting for a character before clocking the timeout count. Reset the status bit TIMEOUT in US_CSR. More... | |
void | usart_start_tx_break (Usart *p_usart) |
Start transmission of a break. More... | |
void | usart_stop_tx_break (Usart *p_usart) |
Stop transmission of a break. More... | |
uint32_t | usart_write (Usart *p_usart, uint32_t c) |
Write to USART Transmit Holding Register. More... | |
void | usart_write_line (Usart *p_usart, const char *string) |
Write one-line string through USART. More... | |
Universal Synchronous Asynchronous Receiver Transmitter (USART) driver for SAM.
Copyright (c) 2011-2018 Microchip Technology Inc. and its subsidiaries.
Definition in file drivers/usart/usart.h.