Tool/software: TI C/C++ Compiler
I set up a CAN RX FIFO for message box 16...32.
for(i = 16; i < 32; i++) { CAN_setupMessageObject(CANA_BASE, i, 0, CAN_MSG_FRAME_STD, CAN_MSG_OBJ_TYPE_RX, 0, CAN_MSG_OBJ_USE_ID_FILTER | CAN_MSG_OBJ_FIFO, MSG_DATA_LENGTH);
} CAN_setupMessageObject( CANA_BASE, i, 0, CAN_MSG_FRAME_STD, CAN_MSG_OBJ_TYPE_RX, 0, CAN_MSG_OBJ_USE_ID_FILTER , MSG_DATA_LENGTH); // last fifo entry
And read the message by polling the new message flag.
This works fine, this config is written to the memory
Receiving is also working as expected.
But if I'm sending
Here I stopped at the breakpoint right after.
The config in the memory for message box 32 is overwritten. Also the TX request flag for message box 32 is set.
Why?
The TX request on message box 32 will never be cleared.
(There is NO answer from any other CAN nodes that could be written to this memory.)
Reading the data out of message box 32 is always zero.
Thanks for your help.