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... | |
Transmitter (USART).
See Quick start guide for the SAM USART module.
This is a low-level driver implementation for the SAM Universal Synchronous/Asynchronous Receiver/Transmitter.
| #define SPI_CPHA (1 << 0) | 
Clock phase.
Definition at line 64 of file drivers/usart/usart.h.
| #define SPI_CPOL (1 << 1) | 
Clock polarity.
Definition at line 67 of file drivers/usart/usart.h.
| #define SPI_MODE_0 0 | 
SPI mode definition.
Definition at line 70 of file drivers/usart/usart.h.
| #define SPI_MODE_1 (SPI_CPHA) | 
Definition at line 71 of file drivers/usart/usart.h.
| #define SPI_MODE_2 (SPI_CPOL) | 
Definition at line 72 of file drivers/usart/usart.h.
Definition at line 73 of file drivers/usart/usart.h.
| void usart_disable_interrupt | ( | Usart * | p_usart, | 
| uint32_t | ul_sources | ||
| ) | 
| void usart_disable_rx | ( | Usart * | p_usart | ) | 
| void usart_disable_tx | ( | Usart * | p_usart | ) | 
| void usart_disable_writeprotect | ( | Usart * | p_usart | ) | 
| void usart_drive_RTS_pin_high | ( | Usart * | p_usart | ) | 
| void usart_drive_RTS_pin_low | ( | Usart * | p_usart | ) | 
| void usart_enable_interrupt | ( | Usart * | p_usart, | 
| uint32_t | ul_sources | ||
| ) | 
| void usart_enable_rx | ( | Usart * | p_usart | ) | 
| void usart_enable_tx | ( | Usart * | p_usart | ) | 
| void usart_enable_writeprotect | ( | Usart * | p_usart | ) | 
| uint8_t usart_get_error_number | ( | Usart * | p_usart | ) | 
| uint32_t usart_get_interrupt_mask | ( | Usart * | p_usart | ) | 
| Pdc* usart_get_pdc_base | ( | Usart * | p_usart | ) | 
| uint32_t usart_get_status | ( | Usart * | p_usart | ) | 
| uint32_t usart_get_writeprotect_status | ( | Usart * | p_usart | ) | 
| uint32_t usart_getchar | ( | Usart * | p_usart, | 
| uint32_t * | c | ||
| ) | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| ul_mck | USART module input clock frequency. | 
| 0 | on success. | 
| 1 | on failure. | 
| 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.
| p_usart | Pointer to a USART instance. | 
| p_usart_opt | Pointer to sam_usart_opt_t instance. | 
| 0 | on success. | 
| 1 | on failure. | 
| uint32_t usart_is_rx_buf_end | ( | Usart * | p_usart | ) | 
| uint32_t usart_is_rx_buf_full | ( | Usart * | p_usart | ) | 
| uint32_t usart_is_rx_ready | ( | Usart * | p_usart | ) | 
| uint32_t usart_is_tx_buf_empty | ( | Usart * | p_usart | ) | 
| uint32_t usart_is_tx_buf_end | ( | Usart * | p_usart | ) | 
| 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.
| p_usart | Pointer to a USART instance. | 
| 1 | Transmitter is empty. | 
| 0 | Transmitter is not empty. | 
| 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).
| p_usart | Pointer to a USART instance. | 
| 1 | No data is in the Transmit Holding Register. | 
| 0 | There is data in the Transmit Holding Register. | 
| uint32_t usart_putchar | ( | Usart * | p_usart, | 
| uint32_t | c | ||
| ) | 
| uint32_t usart_read | ( | Usart * | p_usart, | 
| uint32_t * | c | ||
| ) | 
Read from USART Receive Holding Register.
| p_usart | Pointer to a USART instance. | 
| c | Pointer where the one-byte received data will be stored. | 
| 0 | on success. | 
| 1 | if no data is available or errors. | 
| void usart_reset | ( | Usart * | p_usart | ) | 
| void usart_reset_iterations | ( | Usart * | p_usart | ) | 
| void usart_reset_nack | ( | Usart * | p_usart | ) | 
| void usart_reset_rx | ( | Usart * | p_usart | ) | 
| void usart_reset_status | ( | Usart * | p_usart | ) | 
| void usart_reset_tx | ( | Usart * | p_usart | ) | 
| void usart_restart_rx_timeout | ( | Usart * | p_usart | ) | 
| uint32_t usart_send_address | ( | Usart * | p_usart, | 
| uint32_t | ul_addr | ||
| ) | 
| 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.
| p_usart | Pointer to a USART instance. | 
| baudrate | Baud rate set point. | 
| ul_mck | USART module input clock frequency. | 
| 0 | Baud rate is successfully initialized. | 
| 1 | Baud rate set point is out of range for the given input clock frequency. | 
| void usart_set_rx_timeout | ( | Usart * | p_usart, | 
| uint32_t | timeout | ||
| ) | 
| void usart_set_tx_timeguard | ( | Usart * | p_usart, | 
| uint32_t | timeguard | ||
| ) | 
| void usart_spi_force_chip_select | ( | Usart * | p_usart | ) | 
| void usart_spi_release_chip_select | ( | Usart * | p_usart | ) | 
| void usart_start_rx_timeout | ( | Usart * | p_usart | ) | 
| void usart_start_tx_break | ( | Usart * | p_usart | ) | 
| void usart_stop_tx_break | ( | Usart * | p_usart | ) | 
| uint32_t usart_write | ( | Usart * | p_usart, | 
| uint32_t | c | ||
| ) |