DocID025202 Rev 7
966/1080
RM0365
Controller area network (bxCAN)
Figure 382. bxCAN in combined mode
31.6
Behavior in debug mode
When the microcontroller enters the debug mode (Cortex-M4
®
F core halted), the bxCAN
continues to work normally or stops, depending on:
•
the DBF bit in CAN_MCR. For more details, refer to
Section 31.9.2: CAN control and
.
31.7
bxCAN functional description
31.7.1 Transmission
handling
In order to transmit a message, the application must select one
empty
transmit mailbox, set
up the identifier, the data length code (DLC) and the data before requesting the transmission
by setting the corresponding TXRQ bit in the CAN_TIxR register. Once the mailbox has left
empty
state, the software no longer has write access to the mailbox registers. Immediately
after the TXRQ bit has been set, the mailbox enters
pending
state and waits to become the
highest priority mailbox, see
Transmit Priority
. As soon as the mailbox has the highest
priority it will be
scheduled
for transmission. The transmission of the message of the
scheduled mailbox will start (enter
transmit
state) when the CAN bus becomes idle. Once
the mailbox has been successfully transmitted, it will become
empty
again. The hardware
indicates a successful transmission by setting the RQCP and TXOK bits in the CAN_TSR
register.
If the transmission fails, the cause is indicated by the ALST bit in the CAN_TSR register in
case of an Arbitration Lost, and/or the TERR bit, in case of transmission error detection.
Transmit priority
By identifier
When more than one transmit mailbox is pending, the transmission order is given by the
identifier of the message stored in the mailbox. The message with the lowest identifier value
has the highest priority according to the arbitration of the CAN protocol. If the identifier
values are equal, the lower mailbox number will be scheduled first.
By transmit request order
The transmit mailboxes can be configured as a transmit FIFO by setting the TXFP bit in the
CAN_MCR register. In this mode the priority order is given by the transmit request order.
E[&$1
7;
5;
069
&$17; &$15;