金牌会员 
   
	- 积分
 - 1095
 
        - 金钱
 - 1095 
 
       - 注册时间
 - 2015-11-29
 
      - 在线时间
 - 147 小时
 
 
 
 | 
 
1金钱 
我在原有串口1的基础上添加串口4功能调试,串口1正常收发,串口4没有收发,跳线帽选择com4_rx和com4_tx。程序设置如下: 
void LPUART4_Init(u32 bound) 
{         
        u32 freq=0;                                                         
         
        CLOCK_EnableClock(kCLOCK_Lpuart4);         
         
        //CLOCK_SetMux(kCLOCK_UartMux,0);         //串口时钟在串口1的时候已经设置这里我就直接注销了。 
        //CLOCK_SetDiv(kCLOCK_UartDiv,0);         // 
         
         
        IOMUXC_SetPinMux(IOMUXC_GPIO_B1_00_LPUART4_TX,0U);         
        IOMUXC_SetPinMux(IOMUXC_GPIO_B1_01_LPUART4_RX,0U);         
 
         
        IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_00_LPUART4_TX,0x10B0u);  
        IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_01_LPUART4_RX,0x10B0u);  
 
        freq=LPUART4_SrcFreqGet();         
         
        LPUART_GetDefaultConfig(&lpuart4_config);                                  
        DbgConsole_Init(BOARD_DEBUG_UART4_BASEADDR,bound,BOARD_DEBUG_UART4_TYPE,freq); 
         
        lpuart4_config.baudRate_Bps=bound;                                                 
        lpuart4_config.dataBitsCount=kLPUART_EightDataBits;                 
        lpuart4_config.stopBitCount=kLPUART_OneStopBit;                         
        lpuart4_config.parityMode=kLPUART_ParityDisabled;                 
        lpuart4_config.enableRx=true;                                                         
        lpuart4_config.enableTx=true;                                                         
         
        LPUART_Init(LPUART4,&lpuart4_config,freq);                                 
 
#if EN_LPUART4_RX                                                                                
         
        LPUART_EnableInterrupts(LPUART4,kLPUART_RxDataRegFullInterruptEnable); 
        RT1052_NVIC_SetPriority(LPUART4_IRQn,5,0);                                 
        EnableIRQ(LPUART4_IRQn);                                   
#endif 
}         
 
中断函数 
void LPUART4_IRQHandler(void) 
{ 
        u8 res=0; 
         
        if((LPUART4->STAT)&kLPUART_RxDataRegFullFlag)  
        { 
                 
                res=LPUART4->DATA; 
                         
                if((LPUART4_RX_STA&0x8000)==0)                 
                { 
                        LPUART4_RX_BUF[LPUART_RX_STA&0X3FFF]=res ; 
                                        LPUART4_RX_STA++; 
                         
                }  
        } 
        __DSB();                                 
} 
 
发送函数 
LPUART_WriteBlocking(LPUART4,LPUART_RX_BUF,LPUART4_RX_STA&0x3fff); 
发送和接收都没有反应。。请大家帮忙看看哪里设置有问题。。。 
 
 |   
 
 
 
 
 
 |