CAN messages lost in the way
Hello Everybody,
I'm building a device who need to transfer a bunch of datas on a CAN bus at 250bauds.
When I get the datas from my buffer to create the messages, it seem that some are mission (I'm sniffing the CAN bus with a can-bus shield from seedstudio).
I receive only 18 messages when I'm supposed to receive 60.
The problem is: when I'm in debug mode and I pause before every HAL_CAN_AddTxMessage, everything work like a charm, no message are lost.
But when I'm burst transmitting (waiting for the mailboxes to be all free before sending again), messages are lost.
I would like to know why. It's like some messages are erased/pushed out during the process.
Here are my lines about how to send messages:
while (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 3){
}
while (HAL_CAN_AddTxMessage(&hcan, &TxHeader, TxData, &TxMailbox) != HAL_OK)
{
}Thank you.