void UART3_PrintBlock(uint8_t* pdata, uint8_t len)
{
	uint8_t i = 0;
    for(i = 0; i < len; i++)
    {
        FIFO_S_Put(UART_TranFifo, pdata[i]);
    }
    USART_ITConfig(USART3, USART_IT_TXE, ENABLE);  //发送寄存器空中断
}
Пример #2
0
void UART1_PrintStr    (uint8_t* str)
{
#if 0
    uint8_t i = 0;

    while(str[i] != '\0')
    {
        UART1_PrintCh(str[i++]);
    }
    
#else

    uint8_t i = 0;
    OS_ERR         err;
    CPU_TS         ts;

    OSMutexPend((OS_MUTEX   *)&PC_UART_DEVICE,
            (OS_TICK     )0,
            (OS_OPT      )OS_OPT_PEND_BLOCKING,
            (CPU_TS     *)&ts,
            (OS_ERR     *)&err);
#if 0    
    while(str[i] != '\0')
    {
        while(FIFO_S_IsFull(PC_Tx));
        FIFO_S_Put(PC_Tx, str[i]);
    }
#else
    while(str[i] != '\0')
    {
        UART1_PrintCh(str[i++]);
    }
#endif    
    
    OSMutexPost((OS_MUTEX   *)&PC_UART_DEVICE,
                (OS_OPT      )OS_OPT_POST_NONE,
                (OS_ERR     *)&err);
    
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
#endif
}
Пример #3
0
void UART1_PrintBlock  (uint8_t* pBuf, uint8_t size)
{
#if 0
    uint8_t i = 0;
    
    for(i = 0; i < size; i++)
    {
        UART1_PrintCh(pBuf[i]);
    }
#else
    uint8_t i = 0;
    OS_ERR         err;
    CPU_TS         ts;

    OSMutexPend((OS_MUTEX   *)&PC_UART_DEVICE,
                (OS_TICK     )0,
                (OS_OPT      )OS_OPT_PEND_BLOCKING,
                (CPU_TS     *)&ts,
                (OS_ERR     *)&err);
    
    for(i = 0; i < size; i++)
    {
#if 0
        while(FIFO_S_IsFull(PC_Tx));
        FIFO_S_Put(PC_Tx, pBuf[i]);
#else
        UART1_PrintCh(pBuf[i]);
#endif
    }
    
    OSMutexPost((OS_MUTEX   *)&PC_UART_DEVICE,
                (OS_OPT      )OS_OPT_POST_NONE,
                (OS_ERR     *)&err);
    
    USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
#endif
}
void UART3_PrintCh(uint8_t ch)
{    
    FIFO_S_Put(UART_TranFifo, ch);
    USART_ITConfig(USART3, USART_IT_TXE, ENABLE);
    
}