© 2004 Microchip Technology Inc. DS70070B-page 23-51
Section 23. CAN
CAN Module
23
23.7.5 Transmit Message Aborting
The system can abort a message by clearing the TXREQ bit associated with each message
buffer. Setting the ABAT bit (CiCTRL<12>) will request an abort of all pending messages (see
Figure 23-14). A queued message is aborted by clearing the TXREQ bit. Aborting a queued
message is illustrated in Figure 23-13. If the message has not yet started transmission, or if the
message started but is interrupted by loss of arbitration or an error; the abort will be processed.
The abort is indicated when the module sets the TXABT bit (CiTXnCON<6>), and the TXnIF flag
is not set.
If the message has started to transmit, it will attempt to transmit the current message fully (see
Figure 23-15). If the current message is transmitted fully, and is not lost to arbitration or an error,
the TXABT bit will not be set, because the message was transmitted successfully. Likewise, if a
message is being transmitted during an abort request, and the message is lost to arbitration (see
Figure 23-16) or an error, the message will not be re-transmitted, and the TXABT bit will be set,
indicating that the message was successfully aborted.
Figure 23-13: Abort Queued Message
1 2
- Processor sets TXREQ while module receiving/transmitting message. Module continues with CAN message.
- Processor clears TXREQ while module looking for 11 recessive bits.
CAN bus
3
TXREQ
- Another module takes the available transmit slot.
CiTX
TXnIF
TXABT
Module aborts pending transmission, sets TXABT bit in 2 clocks.
1
2
3