|
| 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...
|
| |
| static uint32_t | usart_set_iso7816_clock (Usart *p_usart, uint32_t clock, uint32_t ul_mck) |
| | Calculate a clock divider (CD) for the USART ISO7816 mode to generate an ISO7816 clock as close as possible to the clock set point. More...
|
| |
| void | usart_set_rx_timeout (Usart *p_usart, uint32_t timeout) |
| | Configure the receive timeout register. More...
|
| |
| static uint32_t | usart_set_spi_master_baudrate (Usart *p_usart, uint32_t baudrate, uint32_t ul_mck) |
| | Calculate a clock divider (CD) for the USART SPI master mode to generate a baud rate as close as possible to the baud rate set point. More...
|
| |
| static void | usart_set_spi_slave_baudrate (Usart *p_usart) |
| | Select the SCK pin as the source of baudrate for the USART SPI slave mode. More...
|
| |
| static uint32_t | usart_set_sync_master_baudrate (Usart *p_usart, uint32_t baudrate, uint32_t ul_mck) |
| | Calculate a clock divider for the USART synchronous master modes to generate a baudrate as close as possible to the baudrate set point. More...
|
| |
| static void | usart_set_sync_slave_baudrate (Usart *p_usart) |
| | Select the SCK pin as the source of baud rate for the USART synchronous slave modes. 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...
|
| |
The Universal Synchronous Asynchronous Receiver Transceiver (USART) provides one full duplex universal synchronous asynchronous serial link. Data frame format is widely programmable (data length, parity, number of stop bits) to support a maximum of standards. The receiver implements parity error, framing error and overrun error detection. The receiver time-out enables handling variable-length frames and the transmitter timeguard facilitates communications with slow remote devices. Multidrop communications are also supported through address bit handling in reception and transmission. The driver supports the following modes: RS232, RS485, SPI, IrDA, ISO7816, MODEM, Hardware handshaking and LIN.