AnsweredAssumed Answered

MPC5746C LINFlexD_1 DMARXE DMATXE

Question asked by Christopher Holland on Apr 4, 2019
Latest reply on Apr 4, 2019 by Petr Stancik

Hi,

 

I am having a similar problem as this post.

IVOR 1 when writing to LINFlex DMATXE  

DMA Mode on LIN0 works fine.

 

I tried doing what the post suggested, but it's not working for me.

I don't see the offset table in the RM.

 

LINFlexD_1.UARTCR.R = 1; // set the UART bit first to be able to write the other bits
LINFlexD_1.UARTCR.B.WL1 = 0; // 8 bits data when PCE = 0 or 8 bits data + parity when PCE = 1
LINFlexD_1.UARTCR.B.WL0 = 1; // 8 bits data when PCE = 0 or 8 bits data + parity when PCE = 1
LINFlexD_1.UARTCR.B.TxEn = 1; // Transmitter Enabled
LINFlexD_1.UARTCR.B.RxEn = 1; // Receiver Enabled
LINFlexD_1.UARTCR.B.RFBM = 1; // UART Rx FIFO Mode Enabled (DMA requirement)
LINFlexD_1.UARTCR.B.TFBM = 1; // UART Tx FIFO Mode Enabled (DMA requirement)
//LINFlexD_1.DMARXE.R = 0x0000ffff; // Enable DMA //see https://community.nxp.com/thread/463696
//LINFlexD_1.DMATXE.R = 0x0000ffff; // Enable DMA //see https://community.nxp.com/thread/463696
//(*(vuint32_t *) (0xFBE8C000UL + (32 * 23)) ) = 0x0000FFFFUL;
//(*(vuint32_t *) (0xFBE8C000UL + (32 * 24)) ) = 0x0000FFFFUL;
//LINFlexD_1.IFCR[3].R = 0x0000ffff; // Enable DMA //see https://community.nxp.com/thread/463696
//LINFlexD_1.IFCR[4].R = 0x0000ffff; // Enable DMA //see https://community.nxp.com/thread/463696
LINFlexD_1.LINIER.B.DRIE = 0; // Disable RX Interrupt (DMA requirement)
LINFlexD_1.LINIER.B.DTIE = 0; // Disable Tx Interrupt (DMA requirement)

Outcomes