PIC18F2420-I/SOC01 Microchip, PIC18F2420-I/SOC01 Datasheet - Page 166
PIC18F2420-I/SOC01
Manufacturer Part Number
PIC18F2420-I/SOC01
Description
28 pin, 16 kb flash, 3804 ram, 25 i/o...
Manufacturer
Microchip
Datasheet
1.PIC18F2420-ISOC01.pdf
(412 pages)
- Current page: 166 of 412
- Download datasheet (7Mb)
PIC18F2420/2520/4420/4520
17.3.2
When initializing the SPI, several options need to be
specified. This is done by programming the appropriate
control bits (SSPCON1<5:0> and SSPSTAT<7:6>).
These control bits allow the following to be specified:
• Master mode (SCK is the clock output)
• Slave mode (SCK is the clock input)
• Clock Polarity (Idle state of SCK)
• Data Input Sample Phase (middle or end of data
• Clock Edge (output data on rising/falling edge of
• Clock Rate (Master mode only)
• Slave Select mode (Slave mode only)
The MSSP consists of a transmit/receive shift register
(SSPSR) and a buffer register (SSPBUF). The SSPSR
shifts the data in and out of the device, MSb first. The
SSPBUF holds the data that was written to the SSPSR
until the received data is ready. Once the 8 bits of data
have been received, that byte is moved to the SSPBUF
register. Then, the Buffer Full detect bit, BF
(SSPSTAT<0>) and the interrupt flag bit, SSPIF, are
set. This double-buffering of the received data
(SSPBUF) allows the next byte to start reception before
reading the data that was just received. Any write to the
SSPBUF register during transmission/reception of data
EXAMPLE 17-1:
DS39631E-page 164
LOOP
output time)
SCK)
Note:
BTFSS
BRA
MOVF
MOVWF
MOVF
MOVWF
OPERATION
To avoid lost data in Master mode, a read
of the SSPBUF must be performed to clear
the
(SSPSTAT<0>)
transmission.
Buffer
SSPSTAT, BF
LOOP
SSPBUF, W
RXDATA
TXDATA, W
SSPBUF
LOADING THE SSPBUF (SSPSR) REGISTER
Full
between
(BF)
;Has data been received (transmit complete)?
;No
;WREG reg = contents of SSPBUF
;Save in user RAM, if data is meaningful
;W reg = contents of TXDATA
;New data to xmit
detect
each
bit
will be ignored and the write collision detect bit, WCOL
(SSPCON1<7>), will be set. User software must clear
the WCOL bit so that it can be determined if the follow-
ing write(s) to the SSPBUF register completed
successfully.
When the application software is expecting to receive
valid data, the SSPBUF should be read before the next
byte of data to transfer is written to the SSPBUF. The
Buffer Full bit, BF (SSPSTAT<0>), indicates when
SSPBUF has been loaded with the received data
(transmission is complete). When the SSPBUF is read,
the BF bit is cleared. This data may be irrelevant if the
SPI is only a transmitter. Generally, the MSSP interrupt
is used to determine when the transmission/reception
has completed. The SSPBUF must be read and/or
written. If the interrupt method is not going to be used,
then software polling can be done to ensure that a write
collision does not occur. Example 17-1 shows the
loading of the SSPBUF (SSPSR) for data transmission.
The SSPSR is not directly readable or writable and can
only be accessed by addressing the SSPBUF register.
Additionally, the MSSP Status register (SSPSTAT)
indicates the various status conditions.
Note:
The SSPBUF register cannot be used with
read-modify-write instructions such as
BCF, BTFSC and COMF, etc.
© 2008 Microchip Technology Inc.
Related parts for PIC18F2420-I/SOC01
Image
Part Number
Description
Manufacturer
Datasheet
Request
R
Part Number:
Description:
IC PIC MCU FLASH 8KX16 28QFN
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
IC MCU FLASH 8KX16 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
IC MCU FLASH 8KX16 28SOIC
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
28/40/44-Pin Enhanced Flash Microcontrollers with 10-Bit A/D and nanoWatt Technology
Manufacturer:
MICROCHIP [Microchip Technology]
Datasheet:
Part Number:
Description:
IC MCU FLASH 8KX16 28-DIP
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
IC PIC MCU FLASH 8KX16 28QFN
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
28 PIN, 16 KB STD FLASH, 3804 RAM, 25 I/O, PB FREE,
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
28/40-Pin High-Performance, Enhanced Flash Microcontrollers with CAN Module
Manufacturer:
MICROCHIP [Microchip Technology]
Datasheet:
Part Number:
Description:
MODULE PLUG-IN DSPIC30F 80QFP
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
MODULE PLUG-IN 18F87J50 FS USB
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
BOARD DAUGHTER USB PICTAIL PLUS
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
MODULE PLUG-IN DSPIC33F 100TQFP
Manufacturer:
Microchip Technology
Datasheet:
Part Number:
Description:
CARD DAUGHTER AUDIO PICTAIL PLUS
Manufacturer:
Microchip Technology
Datasheet: