void arduino_loguart_irq_handler(uint32_t id, LOG_UART_INT_ID event) { char c; RingBuffer *pRxBuffer = (RingBuffer *)id; if (event == IIR_RX_RDY || IIR_CHAR_TIMEOUT) { c = log_uart_getc(&log_uart_obj); pRxBuffer->store_char(c); } }
int serial_getc(serial_t *obj) { #ifdef CONFIG_MBED_ENABLED if (obj->index == UART_3) { return log_uart_getc(&stdio_uart_log); } #endif PHAL_RUART_ADAPTER pHalRuartAdapter=(PHAL_RUART_ADAPTER)&(obj->hal_uart_adp); u8 uart_idx = pHalRuartAdapter->UartIndex; while (!serial_readable(obj)); return (int)((HAL_RUART_READ32(uart_idx, RUART_REV_BUF_REG_OFF)) & 0xFF); }