Datasheet

885
SAM9X35 [DATASHEET]
11055E–ATARM–10-Mar-2014
Figure 41-12.Receive with Overwrite Mailbox
Chaining Mailboxes
Several mailboxes may be used to receive a buffer split into several messages with the same ID. In this case, the
mailbox with the lowest number is serviced first. In the receive and receive with overwrite modes, the field PRIOR in the
CAN_MMRx register has no effect. If Mailbox 0 and Mailbox 5 accept messages with the same ID, the first message is
received by Mailbox 0 and the second message is received by Mailbox 5. Mailbox 0 must be configured in Receive Mode
(i.e., the first message received is considered) and Mailbox 5 must be configured in Receive with Overwrite Mode.
Mailbox 0 cannot be configured in Receive with Overwrite Mode; otherwise, all messages are accepted by this mailbox
and Mailbox 5 is never serviced.
If several mailboxes are chained to receive a buffer split into several messages, all mailboxes except the last one (with
the highest number) must be configured in Receive Mode. The first message received is handled by the first mailbox, the
second one is refused by the first mailbox and accepted by the second mailbox, the last message is accepted by the last
mailbox and refused by previous ones (see Figure 41-13).
Message 1 Message 2 Message 3
Message 3 Message 1
Reading CAN_MSRx
Reading CAN_MDHx & CAN_MDLx
Writing CAN_MCRx
MMI
(CAN_MSRx)
MRDY
(CAN_MSRx)
CAN BUS
(CAN_MDLx
CAN_MDHx)
MTCR
(CAN_MCRx)
Message ID = CAN_MIDx
Message 4
Message 2 Message 4