50.9.18 CAN Message Status Register
These register fields are updated each time a message transfer is received or aborted.
Name: | CAN_MSRx |
Offset: | 0x0210 + x*0x20 [x=0..7] |
Reset: | 0 |
Property: | Read/Write |
Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | |
MMI | |||||||||
Access | R/W | ||||||||
Reset | 0 |
Bit | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | |
MRDY | MABT | MRTR | MDLC[3:0] | ||||||
Access | R/W | R/W | R/W | R/W | R/W | R/W | R/W | ||
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
MTIMESTAMP[15:8] | |||||||||
Access | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
MTIMESTAMP[7:0] | |||||||||
Access | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 24 – MMI Mailbox Message Ignored (cleared by reading CAN_MSRx)
Mailbox Object Type | Description |
Receive | Set 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 Overwrite | Set 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. |
Transmit | Reserved |
Consumer | A 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. |
Producer | A remote frame has been received, but no data are available to be sent. |
Value | Description |
---|---|
0 | No message has been ignored during the previous transfer. |
1 | At 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 Type | Description |
Receive | At 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 Overwrite | At 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. |
Transmit | Mailbox data have been transmitted. After setting CAN_MMR.MOT, MRDY is reset to 1. |
Consumer | At 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. |
Producer | A remote frame has been received,
mailbox data have been transmitted. After setting CAN_MMR.MOT, MRDY is reset to 1. |
Value | Description |
---|---|
0 | Mailbox data registers can not be read/written by the software application. CAN_MDx are locked by CAN_MDx. |
1 | Mailbox 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 Type | Description |
Receive | Reserved |
Receive with Overwrite | Reserved |
Transmit | Previous transfer has been aborted |
Consumer | The remote frame transfer request has been aborted. |
Producer | The response to the remote frame transfer has been aborted. |
Value | Description |
---|---|
0 | The previous transfer is not aborted. |
1 | The previous transfer has been aborted. |
Bit 20 – MRTR Mailbox Remote Transmission Request
Mailbox Object Type | Description |
Receive | The first frame received has the RTR bit set. |
Receive with Overwrite | The last frame received has the RTR bit set. |
Transmit | Reserved |
Consumer | Reserved. After setting CAN_MMR.MOT, MRTR is reset to 1. |
Producer | Reserved. After setting the CAN_MMR.MOT, MRTR is reset to 0. |
Bits 19:16 – MDLC[3:0] Mailbox Data Length Code
Mailbox Object Type | Description |
Receive | Length of the first mailbox message received |
Receive with Overwrite | Length of the last mailbox message received |
Transmit | No action |
Consumer | Length of the mailbox message received |
Producer | Length 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.