6#if !defined(DRIVER_UART_DRIVER_IRQ_H)
7#define DRIVER_UART_DRIVER_IRQ_H
14#define UART_IRQ_CHANNEL_0 0U
16#define UART_IRQ_CHANNEL_2 2U
18#define UART_IRQ_CHANNEL_3 3U
21#define UART_IRQ_RX_BUFFER_SIZE 128U
23#define UART_IRQ_TX_BUFFER_SIZE 128U
void driver_uart_irq_handler(void)
Handler generico del driver para ser invocado desde la IRQ activa.
bool driver_uart_irq_is_initialized(void)
Informa si el driver ya fue inicializado.
void driver_uart_irq_flush(void)
Vacia los buffers de recepcion y transmision.
void driver_uart_irq_deinit(void)
Desinicializa la UART configurada y deshabilita sus interrupciones.
int driver_uart_irq_write(const void *data, uint16_t num_bytes)
Encola datos para transmision por UART.
int driver_uart_irq_tx_free(void)
Informa cuanto espacio libre queda en el buffer de transmision.
bool driver_uart_irq_init(uint8_t channel, uint32_t baudrate)
Inicializa un canal UART para operar por interrupciones.
int driver_uart_irq_read(void *data, uint16_t num_bytes)
Lee datos disponibles desde el buffer de recepcion.
int driver_uart_irq_available(void)
Informa cuantos bytes hay disponibles para leer.