コード例 #1
0
ファイル: serial_api.c プロジェクト: Babody/mbed
int serial_writable(serial_t *obj) {
    uint32_t uart_address[] = UART_BASE_ADDRS;
    if (UART_HAL_GetStatusFlag(uart_address[obj->index], kUartRxOverrun))
        UART_HAL_ClearStatusFlag(uart_address[obj->index], kUartRxOverrun);

    return UART_HAL_IsTxDataRegEmpty(uart_address[obj->index]);
}
コード例 #2
0
/* Function below will be removed when the UART PD driver support the poll mode later. */
static uint32_t UART_DRV_SendPollBlocking(
        uint32_t instance, const uint8_t *buf, uint32_t count, uint32_t timeout)
{
    uint32_t size = count;
    uint32_t baseAddr = g_uartBaseAddr[s_debugConsole.instance];

    /* No timeout mechanism now. */
    while (size--)
    {
        while (!UART_HAL_IsTxDataRegEmpty(baseAddr))
        {}

        UART_HAL_Putchar(baseAddr, *buf++);

    }

    return count;
}
コード例 #3
0
ファイル: serial_api.c プロジェクト: Babody/mbed
void uart4_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART4_BASE), UART_HAL_IsRxDataRegFull(UART4_BASE), 4);
}
コード例 #4
0
ファイル: serial_api.c プロジェクト: Babody/mbed
void uart3_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART3_BASE), UART_HAL_IsRxDataRegFull(UART3_BASE), 3);
}
コード例 #5
0
ファイル: serial_api.c プロジェクト: Babody/mbed
void uart2_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART2_BASE), UART_HAL_IsRxDataRegFull(UART2_BASE), 2);
}
コード例 #6
0
ファイル: serial_api.c プロジェクト: Babody/mbed
void uart1_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART1_BASE), UART_HAL_IsRxDataRegFull(UART1_BASE), 1);
}
コード例 #7
0
ファイル: serial_api.c プロジェクト: Babody/mbed
void uart0_irq() {
    uart_irq(UART_HAL_IsTxDataRegEmpty(UART0_BASE), UART_HAL_IsRxDataRegFull(UART0_BASE), 0);
    if (UART_HAL_GetStatusFlag(UART0_BASE, kUartRxOverrun))
        UART_HAL_ClearStatusFlag(UART0_BASE, kUartRxOverrun);
}