This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMDSEVM6657: 在6657评估板上调试STK_C6657中的UART例程,通过CPU中断接收数据,默认代码中,一次中断只能接收14字节,第二次中断接收16字节,依次交替,其余再多的字节都接收不到,这是为什么?即使修改了缓存数组的大小,也一样

Part Number: TMDSEVM6657


例程是原始UART例程,我只修改了中断响应函数中的代码,如下:

interrupt void KeyStone_UART_Rx_ISR()
{
    Uint32 rx_cnt = 0;

    /* Disable the CIC out for interrupt processing */
    CIC_Regs->HINT_ENABLE_CLR_INDEX_REG = uiCIC_out_num+1;

    // Interrupt from UART0
    if(CIC_Regs->RAW_STATUS_REG[CSL_INTC0_URXEVT>>5] & (1<<(CSL_INTC0_URXEVT%32)))
    {
        rx_cnt= KeyStone_UART_read(UART_Rx_Buf, RX_BUF_BYTE_SIZE, 0);

        CIC_Regs->STATUS_CLR_INDEX_REG = CSL_INTC0_URXEVT;
        printf("rx_cnt= %d\r\n", rx_cnt);
        KeyStone_UART_write(UART_Rx_Buf, rx_cnt, 0);
        //echo back the received characters
//        if(bUartEchoBack)
//            UART_Echo_back(rx_cnt, 0);
    }