SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
An interrupt request allows the user of the mailbox to be notified when a message is received or when the message queue is not full. There is one interrupt per user.
Table 19-13 lists the event flags, and their mask, that can cause module interrupts.
Non-Maskable Event Flag(1) | Maskable Event Flag | Event Mask Bit | Event Unmask Bit | Description |
---|---|---|---|---|
MAILBOX_IRQSTATUS_RAW_u[0+m*2] NEWMSGSTATUSUUMBm | MAILBOX_IRQSTATUS_CLR_u[0+m*2] NEWMSGSTATUSUUMBm | MAILBOX_IRQENABLE_CLR_u[0+m*2] NEWMSGSTATUSUUMBm | MAILBOX_IRQENABLE_SET_u[0+m*2] NEWMSGSTATUSUUMBm | Mailbox m receives a new message. |
MAILBOX_IRQSTATUS_RAW_u[1+m*2] NOTFULLSTATUSUUMBm | MAILBOX_IRQSTATUS_CLR_u[1+m*2] NOTFULLSTATUSUUMBm | MAILBOX_IRQENABLE_CLR_u[1+m*2] NOTFULLSTATUSUUMBm | MAILBOX_IRQENABLE_SET_u[1+m*2] NOTFULLSTATUSUUMBm | Mailbox m message queue is not full. |
Once an event generating the interrupt request has been processed by the software, it must be cleared by writing a logical 1 in the corresponding bit of the MAILBOX_IRQSTATUS_CLR_u register.
Writing a logical 1 in a bit of the MAILBOX_IRQSTATUS_CLR_u register will also clear to 0 the corresponding bit in the appropriate MAILBOX_IRQSTATUS_RAW_u register.
An event can generate an interrupt request when a logical 1 is written to the corresponding unmask bit in the MAILBOX_IRQENABLE_SET_u register. Events are reported in the appropriate MAILBOX_IRQSTATUS_CLR_u and MAILBOX_IRQSTATUS_RAW_u registers.
An event stops generating interrupt requests when a logical 1 is written to the corresponding mask bit in the MAILBOX_IRQENABLE_CLR_u register. Events are only reported in the appropriate MAILBOX_IRQSTATUS_RAW_u register.
In case of the MAILBOX_IRQSTATUS_RAW_u register, the event is reported in the corresponding bit even if the interrupt request generation is disabled for this event.