/* param base UART peripheral base address. param data Start address of the data to write. param length Size of the data to write.  */
void UART_WriteBlocking(UART_Type *base, const uint8_t *data, size_t length)
/* param base UART peripheral base address. param data Start address of the data to write. param length Size of the data to write.  */
void UART_WriteBlocking(UART_Type *base, const uint8_t *data, size_t length)
{
    while (length--)
    {
        while (!(base->S1 & UART_S1_TDRE_MASK))
        {
        }
        base->D = *(data++);
    }
}