oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
Loading...
Searching...
No Matches
Data Structures | Enumerations | Functions
UART

UART serial bus driver. More...

Data Structures

struct  ove_uart_cfg
 UART configuration descriptor. More...
 

Enumerations

enum  ove_uart_parity_t { OVE_UART_PARITY_NONE = 0 , OVE_UART_PARITY_ODD = 1 , OVE_UART_PARITY_EVEN = 2 }
 
enum  ove_uart_stop_t { OVE_UART_STOP_1 = 0 , OVE_UART_STOP_1_5 = 1 , OVE_UART_STOP_2 = 2 }
 
enum  ove_uart_flow_t { OVE_UART_FLOW_NONE = 0 , OVE_UART_FLOW_RTS_CTS = 1 }
 

Functions

static int ove_uart_create (ove_uart_t *u, const struct ove_uart_cfg *c)
 
static void ove_uart_destroy (ove_uart_t u)
 
static int ove_uart_write (ove_uart_t u, const void *d, size_t l, uint32_t t, size_t *bw)
 
static int ove_uart_read (ove_uart_t u, void *b, size_t l, uint32_t t, size_t *br)
 
static size_t ove_uart_bytes_available (ove_uart_t u)
 
static int ove_uart_flush (ove_uart_t u)
 
static void ove_uart_rx_isr_push (ove_uart_t u, const void *d, size_t l)
 

Detailed Description

UART serial bus driver.

Provides a portable, multi-instance UART API with configurable baud rate and framing, interrupt-driven RX buffering, thread-safe TX, and blocking read/write with timeout.

RX bytes are buffered internally via an Stream. Backend ISR handlers push received bytes through ove_uart_rx_isr_push() which the portable layer provides.

Two allocation strategies are supported:

Note
Requires CONFIG_OVE_UART.