The 14 registers of SPI0 (Serial Peripheral Interface), from 0x40008000, with their reset value and every field. The PIC32CZ5125CA70100 has 2835 registers in 63 peripherals, one page each.
SPI0 Serial Peripheral Interface
SPI_CRControl Register
Address
0x40008000
Reset
0x00000000
Access
write only
Size
32-bit
5 fields
Field
Bits
What it does
LASTXFER
24
Last Transfer
REQCLR
12
Request to Clear the Comparison Trigger
SWRST
7
SPI Software Reset
SPIDIS
1
SPI Disable
SPIEN
0
SPI Enable
SPI_MRMode Register
Address
0x40008004
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
PCS
19:16
Peripheral Chip Select
7 NPCS3 as Chip Select
11 NPCS2 as Chip Select
13 NPCS1 as Chip Select
14 NPCS0 as Chip Select
LLB
7
Local Loopback Enable
WDRBT
5
Wait Data Read Before Transfer
MODFDIS
4
Mode Fault Detection
PCSDEC
2
Chip Select Decode
PS
1
Peripheral Select
MSTR
0
Master/Slave Mode
0 Slave
1 Master
DLYBCS
31:24
Delay Between Chip Selects
SPI_RDRReceive Data Register
Address
0x40008008
Reset
0x00000000
Access
read only
Size
32-bit
2 fields
Field
Bits
What it does
PCS
19:16
Peripheral Chip Select
RD
15:0
Receive Data
SPI_TDRTransmit Data Register
Address
0x4000800C
Reset
0x00000000
Access
write only
Size
32-bit
3 fields
Field
Bits
What it does
LASTXFER
24
Last Transfer
PCS
19:16
Peripheral Chip Select
7 NPCS3 as Chip Select
11 NPCS2 as Chip Select
13 NPCS1 as Chip Select
14 NPCS0 as Chip Select
TD
15:0
Transmit Data
SPI_SRStatus Register
Address
0x40008010
Reset
0x00000000
Access
read only
Size
32-bit
8 fields
Field
Bits
What it does
SPIENS
16
SPI Enable Status
UNDES
10
Underrun Error Status (Slave mode only) (cleared on read)
TXEMPTY
9
Transmission Registers Empty (cleared by writing SPI_TDR)
NSSR
8
NSS Rising (cleared on read)
OVRES
3
Overrun Error Status (cleared on read)
MODF
2
Mode Fault Error (cleared on read)
TDRE
1
Transmit Data Register Empty (cleared by writing SPI_TDR)
RDRF
0
Receive Data Register Full (cleared by reading SPI_RDR)
SPI_IERInterrupt Enable Register
Address
0x40008014
Reset
0x00000000
Access
write only
Size
32-bit
7 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Enable
TXEMPTY
9
Transmission Registers Empty Enable
NSSR
8
NSS Rising Interrupt Enable
OVRES
3
Overrun Error Interrupt Enable
MODF
2
Mode Fault Error Interrupt Enable
TDRE
1
SPI Transmit Data Register Empty Interrupt Enable
RDRF
0
Receive Data Register Full Interrupt Enable
SPI_IDRInterrupt Disable Register
Address
0x40008018
Reset
0x00000000
Access
write only
Size
32-bit
7 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Disable
TXEMPTY
9
Transmission Registers Empty Disable
NSSR
8
NSS Rising Interrupt Disable
OVRES
3
Overrun Error Interrupt Disable
MODF
2
Mode Fault Error Interrupt Disable
TDRE
1
SPI Transmit Data Register Empty Interrupt Disable
RDRF
0
Receive Data Register Full Interrupt Disable
SPI_IMRInterrupt Mask Register
Address
0x4000801C
Reset
0x00000000
Access
read only
Size
32-bit
7 fields
Field
Bits
What it does
UNDES
10
Underrun Error Interrupt Mask
TXEMPTY
9
Transmission Registers Empty Mask
NSSR
8
NSS Rising Interrupt Mask
OVRES
3
Overrun Error Interrupt Mask
MODF
2
Mode Fault Error Interrupt Mask
TDRE
1
SPI Transmit Data Register Empty Interrupt Mask
RDRF
0
Receive Data Register Full Interrupt Mask
SPI_CSR0Chip Select Register
Address
0x40008030
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Bit Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 Clock is low when inactive (CPOL=0)
1 Clock is high when inactive (CPOL=1)
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_CSR1Chip Select Register
Address
0x40008034
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Bit Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 Clock is low when inactive (CPOL=0)
1 Clock is high when inactive (CPOL=1)
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_CSR2Chip Select Register
Address
0x40008038
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Bit Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 Clock is low when inactive (CPOL=0)
1 Clock is high when inactive (CPOL=1)
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_CSR3Chip Select Register
Address
0x4000803C
Reset
0x00000000
Access
read/write
Size
32-bit
8 fields
Field
Bits
What it does
DLYBS
23:16
Delay Before SPCK
SCBR
15:8
Serial Clock Bit Rate
BITS
7:4
Bits Per Transfer
0 8 bits for transfer
1 9 bits for transfer
2 10 bits for transfer
3 11 bits for transfer
4 12 bits for transfer
5 13 bits for transfer
6 14 bits for transfer
7 15 bits for transfer
8 16 bits for transfer
CSAAT
3
Chip Select Active After Transfer
CSNAAT
2
Chip Select Not Active After Transfer (Ignored if CSAAT = 1)
NCPHA
1
Clock Phase
0 Data is valid on clock trailing edge (NCPHA=0)
1 Data is valid on clock leading edge (NCPHA=1)
CPOL
0
Clock Polarity
0 Clock is low when inactive (CPOL=0)
1 Clock is high when inactive (CPOL=1)
DLYBCT
31:24
Delay Between Consecutive Transfers
SPI_WPMRWrite Protection Mode Register
Address
0x400080E4
Reset
0x00000000
Access
read/write
Size
32-bit
2 fields
Field
Bits
What it does
WPEN
0
Write Protection Enable
WPKEY
31:8
Write Protection Key
5460041 Writing any other value in this field aborts the write operation of the WPEN bit.Always reads as 0.