PIC16F818/819
REGISTER 10-2:
SSPCON: SYNCHRONOUS SERIAL PORT CONTROL REGISTER 1 (ADDRESS 14h)
R/W-0
WCOL
bit 7
bit 7
WCOL:
Write Collision Detect bit
1
= An attempt to write the SSPBUF register failed because the SSP module is busy
(must be cleared in software)
0
= No collision
SSPOV:
Receive Overflow Indicator bit
In SPI mode:
1
= A new byte is received while the SSPBUF register is still holding the previous data. In case
of overflow, the data in SSPSR is lost. Overflow can only occur in Slave mode. The user
must read the SSPBUF, even if only transmitting data, to avoid setting overflow. In Master
mode, the overflow bit is not set since each new reception (and transmission) is initiated by
writing to the SSPBUF register.
0
= No overflow
In I
2
C mode:
1
= A byte is received while the SSPBUF register is still holding the previous byte. SSPOV is a
鈥渄on鈥檛 care鈥?in Transmit mode. SSPOV must be cleared in software in either mode.
0
= No overflow
SSPEN:
Synchronous Serial Port Enable bit
(1)
In SPI mode:
1
= Enables serial port and configures SCK, SDO and SDI as serial port pins
0
= Disables serial port and configures these pins as I/O port pins
In I
2
C mode:
1
= Enables the serial port and configures the SDA and SCL pins as serial port pins
0
= Disables serial port and configures these pins as I/O port pins
Note 1:
In both modes, when enabled, these pins must be properly configured as input or
output.
bit 4
CKP:
Clock Polarity Select bit
In SPI mode:
1
= Transmit happens on falling edge, receive on rising edge. Idle state for clock is a high level.
0
= Transmit happens on rising edge, receive on falling edge. Idle state for clock is a low level.
In I
2
C Slave mode:
SCK release control.
1
= Enable clock
0
= Holds clock low (clock stretch). (Used to ensure data setup time.)
SSPM<3:0>:
Synchronous Serial Port Mode Select bits
0000
= SPI Master mode, clock = OSC/4
0001
= SPI Master mode, clock = OSC/16
0010
= SPI Master mode, clock = OSC/64
0011
= SPI Master mode, clock = TMR2 output/2
0100
= SPI Slave mode, clock = SCK pin. SS pin control enabled.
0101
= SPI Slave mode, clock = SCK pin. SS pin control disabled. SS can be used as I/O pin.
0110
= I
2
C Slave mode, 7-bit address
0111
= I
2
C Slave mode, 10-bit address
1011
= I
2
C Firmware Controlled Master mode (Slave Idle)
1110
= I
2
C Slave mode, 7-bit address with Start and Stop bit interrupts enabled
1111
= I
2
C Slave mode, 10-bit address with Start and Stop bit interrupts enabled
1000, 1001, 1010, 1100, 1101
=
Reserved
Legend:
R = Readable bit
- n = Value at POR
铮?/div>
2003 Microchip Technology Inc.
R/W-0
SSPOV
R/W-0
SSPEN
R/W-0
CKP
R/W-0
SSPM3
R/W-0
SSPM2
R/W-0
SSPM1
R/W-0
SSPM0
bit 0
bit 6
bit 5
bit 3-0
W = Writable bit
鈥?鈥?= Bit is set
U = Unimplemented bit, read as 鈥?鈥?/div>
鈥?鈥?= Bit is cleared
x = Bit is unknown
Preliminary
DS39598D-page 73
prev
next