Need help with UART Initialization on S32V234

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Need help with UART Initialization on S32V234

733 Views
vedhachalam_p
Contributor I

The UART initialization does not happen with the default code of accessing the specific fields directly, but it accepts the initialization if assigned whole word.

Default Init code( Not working):

                                 -> Board just hangs and does not cross the initialization part

UART_Init()

{

   LINFlexD_0.LINCR1.B.INIT = 0x1;

   LINFlexD_0.LINCR1.B.SLEEP = 0x0;

   LINFlexD_0.UARTCR.B.UART = 0x1;  //Linflex working in UART mode

   LINFlexD_0.UARTCR.B.TxEn = 0x1;    // Enable transmission of data now
   LINFlexD_0.UARTCR.B.RxEn = 0x1;    //Receiver enabled
   LINFlexD_0.UARTCR.B.WL0   = 0x1;    //8 bit data
   LINFlexD_0.UARTCR.B.PCE  = 0x0;    //No parity

   Linflex_SetSpeed();

   LINFlexD_0.LINCR1.B.INIT = 0x0;

}

Modified code for direct word assignment to specific address(partially working):

                               -> Board outputs some characters in console but not expected character

UART_Init()

{

        *(vuint32_t *) 0x40053000 = 0x1; 

        *(vuint32_t *) 0x40053010 = 0x33; //LINFlexD_0.UARTCR.B.UART = 0x1;  //Linflex working in UART mode

        *(vuint32_t *) 0x40053024 = 0x2; 
        *(vuint32_t *) 0x40053028 = 0x24;

        *(vuint32_t *) 0x40053000 = 0;

}

Query:

Could you please let me know if any other fields has to be set to initialize the bit fields directly as mentioned in the default code

Thanks and Regards,

Vedhachalam

0 Kudos
0 Replies