50.9.18 CAN Message Status Register

These register fields are updated each time a message transfer is received or aborted.

Warning: The MRTR and MDLC states depend partly on the mailbox object type.
Name: CAN_MSRx
Offset: 0x0210 + x*0x20 [x=0..7]
Reset: 0
Property: Read/Write

Bit 3130292827262524 
        MMI 
Access R/W 
Reset 0 
Bit 2322212019181716 
 MRDYMABT MRTRMDLC[3:0] 
Access R/WR/WR/WR/WR/WR/WR/W 
Reset 0000000 
Bit 15141312111098 
 MTIMESTAMP[15:8] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 
Bit 76543210 
 MTIMESTAMP[7:0] 
Access R/WR/WR/WR/WR/WR/WR/WR/W 
Reset 00000000 

Bit 24 – MMI Mailbox Message Ignored (cleared by reading CAN_MSRx)

Mailbox Object TypeDescription
ReceiveSet when at least two messages intended for the mailbox have been sent. The first one is available in the mailbox data register. Others have been ignored. A mailbox with a lower priority may have accepted the message.
Receive with OverwriteSet when at least two messages intended for the mailbox have been sent. The last one is available in the mailbox data register. Previous ones have been lost.
TransmitReserved
ConsumerA remote frame has been sent by the mailbox but several messages have been received. The first one is available in the mailbox data register. Others have been ignored. Another mailbox with a lower priority may have accepted the message.
ProducerA remote frame has been received, but no data are available to be sent.
ValueDescription
0No message has been ignored during the previous transfer.
1At least one message has been ignored during the previous transfer.

Bit 23 – MRDY Mailbox Ready (cleared by writing MTCR or MACR in CAN_MCRx)

An interrupt is triggered when MRDY is set.

Mailbox Object TypeDescription
ReceiveAt least one message has been received since the last mailbox transfer order. Data from the first frame received can be read in the CAN_MDxx registers.

After setting CAN_MMR.MOT, MRDY is reset to 0.

Receive with OverwriteAt least one frame has been received since the last mailbox transfer order. Data from the last frame received can be read in the CAN_MDxx registers.

After setting CAN_MMR.MOT, MRDY is reset to 0.

TransmitMailbox data have been transmitted.

After setting CAN_MMR.MOT, MRDY is reset to 1.

ConsumerAt least one message has been received since the last mailbox transfer order. Data from the first message received can be read in the CAN_MDxx registers.

After setting CAN_MMR.MOT, MRDY is reset to 0.

ProducerA remote frame has been received, mailbox data have been transmitted.

After setting CAN_MMR.MOT, MRDY is reset to 1.

ValueDescription
0Mailbox data registers can not be read/written by the software application. CAN_MDx are locked by CAN_MDx.
1Mailbox data registers can be read/written by the software application.

Bit 22 – MABT Mailbox Message Abort (cleared by writing MTCR or MACR in CAN_MCRx)

An interrupt is triggered when MABT is set.

Mailbox Object TypeDescription
ReceiveReserved
Receive with OverwriteReserved
TransmitPrevious transfer has been aborted
ConsumerThe remote frame transfer request has been aborted.
ProducerThe response to the remote frame transfer has been aborted.
ValueDescription
0The previous transfer is not aborted.
1The previous transfer has been aborted.

Bit 20 – MRTR Mailbox Remote Transmission Request

Mailbox Object TypeDescription
ReceiveThe first frame received has the RTR bit set.
Receive with OverwriteThe last frame received has the RTR bit set.
TransmitReserved
ConsumerReserved. After setting CAN_MMR.MOT, MRTR is reset to 1.
ProducerReserved. After setting the CAN_MMR.MOT, MRTR is reset to 0.

Bits 19:16 – MDLC[3:0] Mailbox Data Length Code

Mailbox Object TypeDescription
ReceiveLength of the first mailbox message received
Receive with OverwriteLength of the last mailbox message received
TransmitNo action
ConsumerLength of the mailbox message received
ProducerLength of the mailbox message to be sent after the remote frame reception

Bits 15:0 – MTIMESTAMP[15:0] Timer Value

This field is updated only when time-triggered operations are disabled (CAN_MR.TTM cleared). If the field CAN_MR.TEOF is cleared, TIMESTAMP is the internal timer value at the start of frame of the last message received or sent by the mailbox. If TEOF is set, TIMESTAMP is the internal timer value at the end of frame of the last message received or sent by the mailbox.

In Time-triggered mode, MTIMESTAMP is set to 0.