This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C123GXL: MSG_OBJ_DATA_LOST flag. CANMessageGet

Part Number: EK-TM4C123GXL

Hi,

The MSG_OBJ_DATA_LOST flag is set, but is never cleared by CANMessageGet.

I tried this   but nothing happened.

My code is:

	while(1)
	{
	    ROM_CANMessageSet(CAN0_BASE, TXOBJECT, &g_sCAN0TxMessage, MSG_OBJ_TYPE_TX_REMOTE);

        delay(50); // wait 100ms

        if(g_ui32ErrFlag != 0)
        {   // check for errors
            //UARTprintf("CAN Bus Error\n");
            CANErrorHandler();
        }


	    if(g_bRXFlag)
        { // rx interrupt has occured

	        g_sCAN0RxMessage.pui8MsgData = msgData; // set pointer to rx buffer
	        ROM_CANMessageGet(CAN0_BASE, RXOBJECT, &g_sCAN0RxMessage, MSG_OBJ_TYPE_RX); // read CAN message object RXOBJECT from CAN peripheral

            g_bRXFlag = 0; // clear rx flag

            if(!(g_sCAN0RxMessage.ui32Flags & MSG_OBJ_DATA_LOST))
            {               
                UARTprintf("CAN_ID: 0x%2x\t", g_sCAN0RxMessage.ui32MsgID);
                UARTprintf("Data: %02x %02x %02x %02x\n", msgData[3], msgData[2], msgData[1], msgData[0]);
            }
            else
            {
                g_sCAN0RxMessage.ui32Flags &= ~MSG_OBJ_DATA_LOST;
                ROM_CANMessageGet(CAN0_BASE, RXOBJECT, &g_sCAN0RxMessage, MSG_OBJ_TYPE_RX);
                
            }  
        }

	}

Any hits.

Regards

Andrés