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.

MSPM0G3507: MCAN TX skipping messages

Part Number: MSPM0G3507

Tool/software:

Dear,

I'm sending consequently 3 messages to MCAN using the following code.

When I step through it, all 3 messages appear on the CAN bus.

When is it running (short time between calling this routing), only one meassage is appearing on the CAN bus.

I tried several things like checking if the msg was added (tested using  DL_MCAN_TXBufAddReq return value == 0).

Code:

bool canTxFifo(union MESSAGE *txMessage)
{
DL_MCAN_TxEventFIFOStatus fifoStatus;
bool ret;
DL_MCAN_getTxEventFIFOStatus(MCAN0_INST, &fifoStatus);
if (!fifoStatus.fifoFull)
{
     txMsg.id = txMessage->can.id << 18U;
     for (uint32_t i = 0; i < 8; i++) txMsg.data[i] = txMessage->can.data[i];

    DL_MCAN_writeMsgRam(MCAN0_INST, DL_MCAN_MEM_TYPE_FIFO, 0, &txMsg);
    DL_MCAN_TXBufAddReq(MCAN0_INST, 0);

    return true;
}

else
    return false;
}

Many thanks for help!