SAM UART API Implementations.
Copyright (c) 2019 Microchip Technology Inc. and its subsidiaries.
#include "asf.h"
#include <stdio.h>
#include <string.h>
#include "buffered_uart.h"
#include "conf_uart_serial.h"
Functions | |
uint8_t | buffered_uart_getchar (void) |
This function performs a blocking character receive functionality. More... | |
int | buffered_uart_getchar_nowait (void) |
This function performs a non-blocking character receive functionality. More... | |
void | buffered_uart_init (uint32_t baudrate) |
Initializes the Buffered Serial IO Module. More... | |
void | buffered_uart_putchar (uint8_t ch) |
This function prints the character to the host. More... | |
uint8_t | buffered_uart_rx (uint8_t *data, uint8_t max_len) |
Receives data from UART. More... | |
void | buffered_uart_term (void) |
Terminate the Buffered Serial IO Module. More... | |
uint8_t | buffered_uart_tx (uint8_t *data, uint32_t length) |
Transmits data via UART. More... | |
USART_HOST_ISR_VECT () | |
Variables | |
static uint8_t | serial_rx_buf [SERIAL_RX_BUF_SIZE_HOST] |
static uint8_t | serial_rx_buf_head |
static uint8_t | serial_rx_buf_tail |
static usart_serial_options_t | usart_serial_options |
uint8_t buffered_uart_getchar | ( | void | ) |
This function performs a blocking character receive functionality.
References buffered_uart_getchar_nowait().
int buffered_uart_getchar_nowait | ( | void | ) |
This function performs a non-blocking character receive functionality.
References cpu_irq_disable, cpu_irq_enable, serial_rx_buf, serial_rx_buf_head, SERIAL_RX_BUF_SIZE_HOST, and serial_rx_buf_tail.
Referenced by buffered_uart_getchar().
void buffered_uart_init | ( | uint32_t | baudrate | ) |
Initializes the Buffered Serial IO Module.
References uart_rs232_options::baudrate, CONSOLE_UART_ID, serial_rx_buf_head, serial_rx_buf_tail, stdio_serial_init(), sysclk_enable_peripheral_clock(), USART_HOST, and USART_HOST_RX_ISR_ENABLE.
Referenced by main(), and serial_bridge_process_reconfigure().
void buffered_uart_putchar | ( | uint8_t | ) |
This function prints the character to the host.
References uart_is_tx_buf_empty(), USART_HOST, usart_is_tx_buf_empty(), and usart_serial_putchar().
Referenced by serial_bridge_process_frame(), serial_bridge_process_read_block(), serial_bridge_process_read_reg_with_ret(), serial_bridge_process_reconfigure(), serial_bridge_process_sync_cmd(), serial_bridge_process_write_block(), and serial_bridge_process_write_reg().
uint8_t buffered_uart_rx | ( | uint8_t * | data, |
uint8_t | max_length | ||
) |
Receives data from UART.
data | pointer to the buffer where the received data is to be stored |
max_length | maximum length of data to be received |
References cpu_irq_disable, cpu_irq_enable, serial_rx_buf, serial_rx_buf_head, SERIAL_RX_BUF_SIZE_HOST, and serial_rx_buf_tail.
Referenced by enter_wifi_firmware_download(), and serial_bridge_frame_receive().
void buffered_uart_term | ( | void | ) |
Terminate the Buffered Serial IO Module.
References USART_HOST_RX_ISR_DISABLE.
Referenced by serial_bridge_process_reconfigure().
uint8_t buffered_uart_tx | ( | uint8_t * | data, |
uint32_t | length | ||
) |
Transmits data via UART.
data | Pointer to the buffer where the data to be transmitted is present |
length | Number of bytes to be transmitted |
References STATUS_OK, USART_HOST, and usart_serial_write_packet().
Referenced by serial_bridge_process_read_block().
USART_HOST_ISR_VECT | ( | ) |
|
static |
Referenced by buffered_uart_getchar_nowait(), buffered_uart_rx(), and USART_HOST_ISR_VECT().
|
static |
Referenced by buffered_uart_getchar_nowait(), buffered_uart_init(), and buffered_uart_rx().
|
static |
Referenced by buffered_uart_getchar_nowait(), buffered_uart_init(), buffered_uart_rx(), and USART_HOST_ISR_VECT().
|
static |