XCORE SDK
XCORE Software Development Kit
Classes | Functions
hil_uart_rx

Classes

struct  uart_rx_t
 

Functions

void uart_rx_init (uart_rx_t *uart, port_t rx_port, uint32_t baud_rate, uint8_t data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr, uint8_t *rx_buff, size_t buffer_size_plus_one, void(*uart_rx_complete_callback_fptr)(void *app_data), void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code, void *app_data), void *app_data)
 
void uart_rx_blocking_init (uart_rx_t *uart, port_t rx_port, uint32_t baud_rate, uint8_t data_bits, uart_parity_t parity, uint8_t stop_bits, hwtimer_t tmr, void(*uart_rx_error_callback_fptr)(uart_callback_code_t callback_code, void *app_data), void *app_data)
 
uint8_t uart_rx (uart_rx_t *uart)
 
void uart_rx_deinit (uart_rx_t *uart)
 

Detailed Description

The public API for using the HIL UART Rx module.

Function Documentation

◆ uart_rx()

uint8_t uart_rx ( uart_rx_t uart)

Receives a single UART frame with parameters as specified in uart_rx_init()

Parameters
uartThe uart_rx_t context to receive from.
Returns
The word received in the UART frame. In buffered mode it gets the oldest received word.

◆ uart_rx_blocking_init()

void uart_rx_blocking_init ( uart_rx_t uart,
port_t  rx_port,
uint32_t  baud_rate,
uint8_t  data_bits,
uart_parity_t  parity,
uint8_t  stop_bits,
hwtimer_t  tmr,
void(*)(uart_callback_code_t callback_code, void *app_data)  uart_rx_error_callback_fptr,
void *  app_data 
)

Initializes a UART Rx I/O interface. This API is fixed to blocking mode which is where the call to uart_rx returns as soon as the stop bit has been sampled.

Parameters
uartThe uart_rx_t context to initialise.
rx_portThe port used receive the UART frames.
baud_rateThe baud rate of the UART in bits per second.
data_bitsThe number of data bits per frame sent.
parityThe type of parity used. See uart_parity_t above.
stop_bitsThe number of stop bits asserted at the of the frame.
tmrThe resource id of the timer to be used. Polling mode will be used if set to 0.
uart_rx_error_callback_fptrCallback function pointer for UART rx errors The error is contained in cb_code in the uart_rx_t struct.
app_dataA pointer to application specific data provided by the application. Used to share data between the error callback function and the application.

◆ uart_rx_deinit()

void uart_rx_deinit ( uart_rx_t uart)

De-initializes the specified UART Rx interface. This disables the port also. The timer, if used, needs to be freed by the application.

Parameters
uartThe uart_rx_t context to de-initialise.

◆ uart_rx_init()

void uart_rx_init ( uart_rx_t uart,
port_t  rx_port,
uint32_t  baud_rate,
uint8_t  data_bits,
uart_parity_t  parity,
uint8_t  stop_bits,
hwtimer_t  tmr,
uint8_t *  rx_buff,
size_t  buffer_size_plus_one,
void(*)(void *app_data)  uart_rx_complete_callback_fptr,
void(*)(uart_callback_code_t callback_code, void *app_data)  uart_rx_error_callback_fptr,
void *  app_data 
)

Initializes a UART Rx I/O interface. Passing a valid buffer will enable buffered mode with ISR for use in bare-metal applications.

Parameters
uartThe uart_rx_t context to initialise.
rx_portThe port used receive the UART frames.
baud_rateThe baud rate of the UART in bits per second.
data_bitsThe number of data bits per frame sent.
parityThe type of parity used. See uart_parity_t above.
stop_bitsThe number of stop bits asserted at the of the frame.
tmrThe resource id of the timer to be used. Polling mode will be used if set to 0.
rx_buffPointer to a buffer. Optional. If set to zero the UART will run in blocking mode. If initialised to a valid buffer, the UART will be interrupt driven.
buffer_size_plus_oneSize of the buffer if enabled in rx_buff. Note that the buffer allocation and size argument must be one greater than needed. Eg. buff[65] for a 64 byte buffer.
uart_rx_complete_callback_fptrCallback function pointer for UART rx complete (one word) in buffered mode only. Optionally NULL.
uart_rx_error_callback_fptrCallback function pointer for UART rx errors The error is contained in cb_code in the uart_rx_t struct.
app_dataA pointer to application specific data provided by the application. Used to share data between this callback function and the application.