
CHAPTER 19 CAN CONTROLLER
User’s Manual U16541EJ4V0UD
781
19.8 CAN Controller Initialization
19.8.1 Initialization of CAN module
Before CAN module operation is enabled, the CAN module system clock needs to be determined by setting the
C0GMCS.CCP0 to C0GMCS.CCP3 bits by software. Do not change the setting of the CAN module system clock
after CAN module operation is enabled.
The CAN module is enabled by setting the C0GMCTRL.GOM bit.
For the procedure of initializing the CAN module, see 19.16 Operation of CAN Controller.
19.8.2 Initialization of message buffer
After the CAN module is enabled, the message buffers contain undefined values. A minimum initialization for all
the message buffers, even for those not used in the application, is necessary before switching the CAN module from
the initialization mode to one of the operation modes.
Clear the C0MCTRLm.RDY, C0MCTRLm.TRQ, and C0MCTRLm.DN bits to 0.
Clear the C0MCONFm.MA0 bit to 0.
Remark
m = 00 to 31
19.8.3 Redefinition of message buffer
Redefining a message buffer means changing the ID and control information of the message buffer while a
message is being received or transmitted, without affecting other transmission/reception operations.
(1) To redefine message buffer in initialization mode
Place the CAN module in the initialization mode once and then change the ID and control information of the
message buffer in the initialization mode. After changing the ID and control information, set the CAN module
to an operation mode.
(2) To redefine message buffer during reception
Perform redefinition as shown in Figure 19-38.
(3) To redefine message buffer during transmission
To rewrite the contents of a transmit message buffer to which a transmission request has been set, perform
transmission abort processing (see 19.10.4 (1) Transmission abort in normal operation mode, 19.10.4 (2)
Transmission abort process except for ABT transmission in normal operation mode with automatic
block transmission (ABT), and 19.10.4 (3)
Transmission abort in normal operation mode with
automatic block transmission (ABT)). Confirm that transmission has been aborted or completed, and then
redefine the message buffer. After redefining the transmit message buffer, set a transmission request using
the procedure described below. When setting a transmission request to a message buffer that has been
redefined without aborting the transmission in progress, however, the 1-bit wait time is not necessary.