Chapter 10 Freescale’s Scalable Controller Area Network (S12MSCANV2)
306
MC9S12C-Family / MC9S12GC-Family
Freescale Semiconductor
Rev 01.24
10.3.2.11 MSCAN Transmit Buffer Selection Register (CANTBSEL)
The CANTBSEL register allows the selection of the actual transmit message buffer, which then will be
accessible in the CANTXFG register space.
NOTE
The CANTBSEL register is held in the reset state when the initialization
mode is active (INITRQ = 1 and INITAK=1). This register is writable when
not in initialization mode (INITRQ = 0 and INITAK = 0).
Read: Find the lowest ordered bit set to 1, all other bits will be read as 0
Write: Anytime when not in initialization mode
The following gives a short programming example of the usage of the CANTBSEL register:
To get the next available transmit buffer, application software must read the CANTFLG register and write
this value back into the CANTBSEL register. In this example Tx buffers TX1 and TX2 are available. The
value read from CANTFLG is therefore 0b0000_0110. When writing this value back to CANTBSEL, the
Tx buffer TX1 is selected in the CANTXFG because the lowest numbered bit set to 1 is at bit position 1.
Reading back this value out of CANTBSEL results in 0b0000_0010, because only the lowest numbered
bit position set to 1 is presented. This mechanism eases the application software the selection of the next
available Tx buffer.
•
LDD CANTFLG; value read is 0b0000_0110
•
STD CANTBSEL; value written is 0b0000_0110
•
LDD CANTBSEL; value read is 0b0000_0010
If all transmit message buffers are deselected, no accesses are allowed to the CANTXFG registers.
Module Base + 0x000A
7
6
5
4
3
2
1
0
R
0
0
0
0
0
TX2
TX1
TX0
W
Reset:
0
0
0
0
0
0
0
0
= Unimplemented
Figure 10-14. MSCAN Transmit Buffer Selection Register (CANTBSEL)
Table 10-15. CANTBSEL Register Field Descriptions
Field
Description
2:0
TX[2:0]
Transmit Buffer Select
— The lowest numbered bit places the respective transmit buffer in the CANTXFG
register space (e.g., TX1 = 1 and TX0 = 1 selects transmit buffer TX0; TX1 = 1 and TX0 = 0 selects transmit
buffer TX1). Read and write accesses to the selected transmit buffer will be blocked, if the corresponding TXEx
bit is cleared and the buffer is scheduled for transmission (see
Section 10.3.2.7, “MSCAN Transmitter Flag
0 The associated message buffer is deselected
1 The associated message buffer is selected, if lowest numbered bit
Summary of Contents for MC9S12C Family
Page 689: ......