English
Language : 

MCP2515 Datasheet, PDF (64/84 Pages) Microchip Technology – Stand-Alone CAN Controller With SPI™ Interface
MCP2515
Each status bit returned in this command may also be
read by using the standard read command with the
appropriate register address.
12.9 RX Status Instruction
The RX Status instruction (Figure 12-9) is used to
quickly determine which filter matched the message
and message type (standard, extended, remote). After
the command byte is sent, the controller will return
8 bits of data that contain the status data. If more
clocks are sent after the 8 bits are transmitted, the
controller will continue to output the same status bits as
long as the CS pin stays low and clocks are provided.
12.10 Bit Modify Instruction
The Bit Modify instruction provides a means for setting
or clearing individual bits in specific status and control
registers. This command is not available for all
registers. See Section 11.0 “Register Map” to
determine which registers allow the use of this
command.
Note:
Executing the Bit Modify command on
registers that are not bit-modifiable will
force the mask to FFh. This will allow byte-
writes to the registers, not bit modify.
The part is selected by lowering the CS pin and the Bit
Modify command byte is then sent to the MCP2515.
The command is followed by the address of the
register, the mask byte and finally the data byte.
The mask byte determines which bits in the register will
be allowed to change. A ‘1’ in the mask byte will allow
a bit in the register to change, while a ‘0’ will not.
The data byte determines what value the modified bits
in the register will be changed to. A ‘1’ in the data byte
will set the bit and a ‘0’ will clear the bit, provided that
the mask for that bit is set to a ‘1’ (see Figure 12-7).
FIGURE 12-1:
BIT MODIFY
Mask byte 0 0 1 1 0 1 0 1
Data byte X X 1 0 X 0 X 1
Previous
Register
Contents
Resulting
Register
Contents
0 101000 1
0 110000 1
TABLE 12-1: SPI™ INSTRUCTION SET
Instruction Name Instruction Format
Description
RESET
READ
Read RX Buffer
WRITE
Load TX Buffer
RTS
(Message
Request-To-Send)
1100 0000
0000 0011
1001 0nm0
0000 0010
0100 0abc
1000 0nnn
Resets internal registers to default state, set Configuration mode.
Read data from register beginning at selected address.
When reading a receive buffer, reduces the overhead of a normal
read command by placing the address pointer at one of four
locations, as indicated by ‘n,m’. Note: The associated RX flag bit
(CANINTF.RXnIF) will be cleared after bringing CS high.
Write data to register beginning at selected address.
When loading a transmit buffer, reduces the overhead of a normal
Write command by placing the address pointer at one of six
locations as indicated by ‘a,b,c’.
Instructs controller to begin message transmission sequence for
any of the transmit buffers.
1000 0nnn
Request-to-send for TXB2
Request-to-send for TXBO
Request-to-send for TXB1
Read Status
RX Status
Bit Modify
1010 0000
1011 0000
0000 0101
Quick polling command that reads several status bits for transmit
and receive functions.
Quick polling command that indicates filter match and message
type (standard, extended and/or remote) of received message.
Allows the user to set or clear individual bits in a particular
register. Note: Not all registers can be bit-modified with this
command. Executing this command on registers that are not bit-
modifiable will force the mask to FFh. See the register map in
Section 11.0 “Register Map” for a list of the registers that apply.
DS21801D-page 64
Preliminary
© 2005 Microchip Technology Inc.