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.

TMS320F280049C: Question about the use of receiving mailbox

Part Number: TMS320F280049C
Other Parts Discussed in Thread: C2000WARE

Dear team:

Routine: C:\ti\c2000\C2000Ware_4_00_00_00\driverlib\f28004x\examples\can\can_ex3_external_transmit.c

In the routine, the customer sets RX_MSG_OBJ_ID to 1, and the first frame of message will be received through mailbox 1.
Then he modified the function CAN_setupMessageObject and changed the receiving mailbox number to 2. Then the second frame was received through mailbox 1? Or through mailbox 2?

If the second frame is still received by mailbox 1 (due to the high priority of mailbox 1), how can the first frame be received by mailbox 1 and the second frame by mailbox 2?

Best regards

  • Hi Green,

    The second frame will still go to mailbox 1.  To ensure that the second frame will be dedicated to mailbox 2, customer will have to enable message filtering by adding the flag parameter CAN_MSG_OBJ_USE_ID_FILTER (for STD IDs) or CAN_MSG_OBJ_USE_EXT_FILTER (for EXT IDs) and setting the mask value to 1's (setting to 0's will ignore the corresponding bit ID value)  when defining message object 2 with function CAN_setupMessageObject().  This way, frames received with the exact message ID from frame 2 will be guaranteed to only go to message object 2.

    Regards,

    Joseph