8#include <ring_buffer.h>
42 Chip_SCU_PinMux(9, 5, MD_PDN, FUNC7);
43 Chip_SCU_PinMux(9, 6, MD_PLN | MD_EZI | MD_ZI, FUNC7);
49 Chip_SCU_PinMux(7, 1, MD_PDN, FUNC6);
50 Chip_SCU_PinMux(7, 2, MD_PLN | MD_EZI | MD_ZI, FUNC6);
56 Chip_SCU_PinMux(2, 3, MD_PDN, FUNC2);
57 Chip_SCU_PinMux(2, 4, MD_PLN | MD_EZI | MD_ZI, FUNC2);
88 UART_FCR_FIFO_EN | UART_FCR_RX_RS | UART_FCR_TX_RS | UART_FCR_TRG_LEV0);
92 UART_IER_RBRINT | UART_IER_THREINT | UART_IER_RLSINT);
110 UART_IER_RBRINT | UART_IER_THREINT | UART_IER_RLSINT);
uint8_t tx_data[UART_IRQ_TX_BUFFER_SIZE]
uint8_t rx_data[UART_IRQ_RX_BUFFER_SIZE]
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.
static driver_uart_irq_state_t driver_uart_irq_state_
Estado global de una unica instancia activa del driver.
void UART3_IRQHandler(void)
void driver_uart_irq_flush(void)
Vacia los buffers de recepcion y transmision.
void UART0_IRQHandler(void)
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.
static bool driver_uart_irq_select_channel(uint8_t channel)
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.
void UART2_IRQHandler(void)
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.
Driver UART por interrupciones basado en ring buffers de LPCOpen.
#define UART_IRQ_CHANNEL_3
Identificador del canal UART3.
#define UART_IRQ_CHANNEL_0
Identificador del canal UART0.
#define UART_IRQ_RX_BUFFER_SIZE
Tamano del buffer circular de recepcion.
#define UART_IRQ_TX_BUFFER_SIZE
Tamano del buffer circular de transmision.
#define UART_IRQ_CHANNEL_2
Identificador del canal UART2.