pic24hj16gp304 Microchip Technology Inc., pic24hj16gp304 Datasheet - Page 135

no-image

pic24hj16gp304

Manufacturer Part Number
pic24hj16gp304
Description
High-performance, 16-bit Microcontrollers
Manufacturer
Microchip Technology Inc.
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
pic24hj16gp304-E/ML
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
pic24hj16gp304-E/PT
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
pic24hj16gp304-E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
pic24hj16gp304-H/ML
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
pic24hj16gp304-H/PT
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
pic24hj16gp304-I/ML
Manufacturer:
MICROCHIP
Quantity:
12 000
Part Number:
pic24hj16gp304-I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
pic24hj16gp304T-I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
14.0
The Serial Peripheral Interface (SPI) module is a
synchronous serial interface useful for communicating
with other peripheral or microcontroller devices. These
peripheral devices can be serial EEPROMs, shift
registers, display drivers, Analog-to-Digital Converters
(ADC) and so on. The SPI module is compatible with
SPI and SIOP from Motorola
Each SPI module consists of a 16-bit shift register,
SPIxSR (where x = 1 or 2), used for shifting data in and
out, and a buffer register, SPIxBUF. A control register,
SPIxCON, configures the module. Additionally, a status
register, SPIxSTAT, indicates status conditions.
The serial interface consists of 4 pins:
• SDIx (serial data input)
• SDOx (serial data output)
• SCKx (shift clock input or output)
• SSx (active low slave select).
In Master mode operation, SCK is a clock output. In
Slave mode, it is a clock input.
14.1
A series of 8 or 16 clock pulses shift out bits from the
SPIxSR to SDOx pin and simultaneously shift in data
from the SDIx pin. An interrupt is generated when the
transfer is complete and the corresponding interrupt flag
bit (SPI1IF) is set. This interrupt can be disabled through
an interrupt enable bit (SPI1IE).
14.2
The receive operation is double-buffered. When a com-
plete byte is received, it is transferred from SPIxSR to
SPIxBUF.
If the receive buffer is full when new data is being trans-
ferred from SPIxSR to SPIxBUF, the module sets the
SPIROV bit, indicating an overflow condition. The trans-
fer of the data from SPIxSR to SPIxBUF is not com-
pleted, and the new data is lost. The module will not
respond to SCL transitions while SPIROV is ‘1’, effec-
tively disabling the module until SPIxBUF is read by user
software.
© 2007 Microchip Technology Inc.
Note:
SERIAL PERIPHERAL
INTERFACE (SPI)
Interrupts
Receive Operations
This data sheet summarizes the features
of
PIC24HJ16GP304 devices. It is not
intended to be a comprehensive reference
source. To complement the information in
this data sheet, refer to the “PIC24H
Family Reference Manual”.
PIC24HJ32GP202/204 and PIC24HJ16GP304
the
PIC24HJ32GP202/204
®
.
and
Preliminary
14.3
Transmit writes are also double-buffered. The user appli-
cation writes to SPIxBUF. When the Master or Slave
transfer is completed, the contents of the shift register
(SPIxSR) are moved to the receive buffer. If any transmit
data has been written to the buffer register, the contents
of the transmit buffer are moved to SPIxSR. The received
data is thus placed in SPIxBUF and the transmit data in
SPIxSR is ready for the next transfer.
14.4
To set up the SPI module for the Master mode of
operation:
1.
2.
3.
4.
5.
To set up the SPI module for the Slave mode of operation:
1.
2.
3.
4.
5.
6.
7.
Note:
If using interrupts:
a)
b)
c)
Write the desired settings to the SPIxCON
register with MSTEN (SPIxCON1<5>) = 1.
Clear the SPIROV bit (SPIxSTAT<6>).
Enable SPI operation by setting the SPIEN bit
(SPIxSTAT<15>).
Write the data to be transmitted to the SPIxBUF
register. Transmission (and reception) will start as
soon as data is written to the SPIxBUF register.
Clear the SPIxBUF register.
If using interrupts:
a)
b)
c)
Write the desired settings to the SPIxCON1
and
(SPIxCON1<5>) = 0.
Clear the SMP bit.
If the CKE bit is set, then set the SSEN bit
(SPIxCON1<7>) to enable the SSx pin.
Clear the SPIROV bit (SPIxSTAT<6>).
Enable SPI operation by setting the SPIEN bit
(SPIxSTAT<15>).
Transmit Operations
SPI Setup
Clear the SPIxIF bit in the respective IFSn
register.
Set the SPIxIE bit in the respective IECn
register.
Write the SPIxIP bits in the respective IPCn
register to set the interrupt priority.
Clear the SPIxIF bit in the respective IFSn
register.
Set the SPIxIE bit in the respective IECn
register.
Write the SPIxIP bits in the respective IPCn
register to set the interrupt priority.
SPIxCON2
Both the transmit buffer (SPIxTXB) and
the receive buffer (SPIxRXB) are mapped
to the same register address, SPIxBUF.
Do not perform read-modify-write opera-
tions (such as bit-oriented instructions) on
the SPIxBUF register.
registers
DS70289A-page 133
with
MSTEN

Related parts for pic24hj16gp304