This function【UART0_RX_IRQHandler】is not running

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

This function【UART0_RX_IRQHandler】is not running

1,131件の閲覧回数
zhengjung-hung
Contributor I

The chip is QN9021

This demo code from 1.3.9 QPPS

But I test 1.3.6 QPPS is OK

Other device Baud is 9600

In app_config.h,【#define QN_DEMO_AUTO             1】,I take out the notes,this code is running

I don't understand how this could happen?

uart0_RX.PNG

ラベル(1)
タグ(2)
0 件の賞賛
返信
3 返答(返信)

979件の閲覧回数
mario_castaneda
NXP TechSupport
NXP TechSupport

 Hi Zheng Jung-Hung,

Could you please explain your issue again? Are you trying to set up the uart? Change the baud rate?

Best Regards,

Mario 

0 件の賞賛
返信

979件の閲覧回数
zhengjung-hung
Contributor I

Same hardware,Download two HEX to chip

【1】1.3.6 qpps demo

【2】1.3.9 qpps demo

I didn't change the code

Receive UART data

1.3.6 is normal(Enter function 【UART_RX_IRQHandler】),but 1.3.9 is not

0 件の賞賛
返信

979件の閲覧回数
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Zheng,Jung-Hung,

I was checking the uart driver, could you please comment the if(UART == QN_UART0 line?

This condition never will be 1.

Be Sure that the CONFIG_UART0_R/TX_ENABLE_INTERRUPT is true and the UART_R/TX_DMA_EN is False.

#if CONFIG_ENABLE_DRIVER_UART0==TRUE
    //if (UART == QN_UART0) 
    //{
        /*
        * Set UART config:
        *
        * - oversample rate is 16
        * - HW flow control disable
        * - 1 stop bit
        * - parity type unused
        * - no parity
        * - bitorder = LSB
        */
        reg = UART_MASK_UART_EN         // uart enable
            | UART_MASK_UART_IE         // uart int enable
            //| UART_MASK_CTS_EN
            //| UART_MASK_RTS_EN
            | UART_OVS16
            | UART_MASK_LEVEL_INV
            | UART_MASK_BIT_ORDER;
        
        uart_env = &uart0_env;

        #if CONFIG_UART0_TX_ENABLE_INTERRUPT==TRUE && UART_TX_DMA_EN==FALSE
        // Enable the UART0 TX Interrupt
        NVIC_EnableIRQ(UART0_TX_IRQn);
        #endif
        
        #if CONFIG_UART0_RX_ENABLE_INTERRUPT==TRUE && UART_RX_DMA_EN==FALSE
        // Enable the UART0 RX Interrupt
        NVIC_EnableIRQ(UART0_RX_IRQn);
        #endif
    //}
#endif‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Let me know you findings

Best Regards,

Mario

0 件の賞賛
返信