初级会员 
  
	- 积分
 - 71
 
        - 金钱
 - 71 
 
       - 注册时间
 - 2016-1-21
 
      - 在线时间
 - 18 小时
 
 
 
 | 
 
5金钱 
我按照例程LPUART1的写法,改LPUART4的配置,发送数据,一直接受不到,找了半天也没发现那里配置错误。 
 
初始化函数 
void LPUART4_Init(u32 bound) 
{    
    u32 freq=0;                         //′®¿úμÄê±ÖóÔ′ÆμÂê 
     
    CLOCK_EnableClock(kCLOCK_Lpuart4);  //ê1ÄüLPUART4ê±Öó 
     
    CLOCK_SetMux(kCLOCK_UartMux,0);     //éèÖÃUARTê±ÖóÔ′ÎaPLL3 80Mhz£¬ LL3/6=480/6=80MHz 
    CLOCK_SetDiv(kCLOCK_UartDiv,0);     //éèÖÃUARTê±Öó1·ÖÆμ£¬¼′UARTê±ÖóÎa80Mhz 
     
    //LPUART4Ëùê1óÃμÄIO1|ÄüÅäÖ㬼′£o′óALT0~ALT7Ñ¡ÔñoÏêêμÄ1|Äü¡£ 
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_00_LPUART4_TX,0U); 
    IOMUXC_SetPinMux(IOMUXC_GPIO_B1_01_LPUART4_RX,0U); 
    //ÅäÖÃIOòy½ÅGPIO_AD_B0_12oíGPIO_AD_B0_13μÄ1|Äü 
    //μí×a»»Ëù¶è,Çy¶ˉÄüá|ÎaR0/6,Ëù¶èÎa100Mhz£¬1رտa·1|Äü£¬ê1Äüpull/keepr 
    //Ñ¡Ôñkeeper1|Äü£¬ÏÂà-100K Ohm£¬1رÕHyst 
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_00_LPUART4_TX,0x10B0u);  
    IOMUXC_SetPinConfig(IOMUXC_GPIO_B1_01_LPUART4_RX,0x10B0u);  
 
    freq=LPUART_SrcFreqGet();    
     
    LPUART_GetDefaultConfig(&lpuart4_config);               //ÏèéèÖÃÎaĬèÏÅäÖã¬oóÃæÔú¸ù¾Yêμ¼êÇé¿öÅäÖà 
     
    lpuart4_config.baudRate_Bps=bound;                      //2¨ìØÂê 
    lpuart4_config.dataBitsCount=kLPUART_EightDataBits;     //8λ 
    lpuart4_config.stopBitCount=kLPUART_OneStopBit;         //1λí£Ö1λ 
    lpuart4_config.parityMode=kLPUART_ParityDisabled;       //ÎTÆæÅ¼D£Ñé 
    lpuart4_config.enableRx=true;                           //ê1Äü½óêÕ 
    lpuart4_config.enableTx=true;                           //ê1Äü·¢Ëí 
     
    LPUART_Init(LPUART4,&lpuart4_config,freq);              //3õê¼»ˉLPUART4 
     
#if EN_LPUART4_RX                                           //êÇ·ñDèòa¿aÆôÖD¶Ï?  
    //LPUARTÖD¶ÏéèÖÃ 
    LPUART_EnableInterrupts(LPUART4,kLPUART_RxDataRegFullInterruptEnable); //ê1Äü½óêÕÖD¶Ï 
    RT1052_NVIC_SetPriority(LPUART4_IRQn,5,0);              //ÇàÕ¼óÅÏè¼¶5£¬×óóÅÏè¼¶0 
    EnableIRQ(LPUART4_IRQn);                                //ê1ÄüLPUART1ÖD¶Ï 
#endif 
}    
 
 
发送函数 
void LPUART4_WriteBytes(const uint8_t *data, size_t length) 
{ 
    while (length--) 
    { 
        while (!(LPUART4->STAT & LPUART_STAT_TDRE_MASK)) 
        { 
        } 
        LPUART4->DATA = *(data++); 
    } 
} 
 
 
LPUART1也是用这个发送函数,可以收到正确数据。 
 |   
 
 
 
 
 
 |