|
oveRTOS C API
Embedded RTOS framework — build system, configuration, and portable C API
|
UART serial bus driver. More...
Data Structures | |
| struct | ove_uart_cfg |
| UART configuration descriptor. More... | |
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) |
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:
_create() / _destroy() — unified API (heap or zero-heap macro). In zero-heap mode rx_buf_size in the config must be a compile-time constant._init() / _deinit() — explicit storage with caller-supplied RX buffer.CONFIG_OVE_UART.