Datasheet
2009-2011 Microchip Technology Inc. DS39960D-page 295
PIC18F87K22 FAMILY
REGISTER 21-6: SSPxCON2: MSSPx CONTROL REGISTER 2 (I
2
C™ SLAVE MODE)
REGISTER 21-7: SSPxMSK: I
2
C™ SLAVE ADDRESS MASK REGISTER (7-BIT MASKING MODE)
(1)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
GCEN ACKSTAT ACKDT
(1)
ACKEN
(1)
RCEN
(1)
PEN
(1)
RSEN
(1)
SEN
(1)
bit 7 bit 0
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7 GCEN: General Call Enable bit
1 = Enables interrupt when a general call address (0000h) is received in the SSPxSR
0 = General call address is disabled
bit 6 ACKSTAT: Acknowledge Status bit
Unused in Slave mode.
bit 5 ACKDT: Acknowledge Data bit (Master Receive mode only)
(1)
1 = Not Acknowledge
0 = Acknowledge
bit 4 ACKEN: Acknowledge Sequence Enable bit
(1)
1 = Initiates Acknowledge sequence on SDAx and SCLx pins and transmits ACKDT data bit.
Automatically cleared by hardware.
0 = Acknowledge sequence is Idle
bit 3 RCEN: Receive Enable bit (Master Receive mode only)
(1)
1 = Enables Receive mode for I
2
C
0 = Receive is Idle
bit 2 PEN: Stop Condition Enable bit
(1)
1 = Initiates Stop condition on SDAx and SCLx pins. Automatically cleared by hardware.
0 = Stop condition is Idle
bit 1 RSEN: Repeated Start Condition Enable bit
(1)
1 = Initiates Repeated Start condition on SDAx and SCLx pins. Automatically cleared by hardware.
0 = Repeated Start condition is Idle
bit 0 SEN: Stretch Enable bit
(1)
1 = Clock stretching is enabled for both slave transmit and slave receive (stretch enabled)
0 = Clock stretching is disabled
Note 1: If the I
2
C module is active, this bit may not be set (no spooling) and the SSPxBUF may not be written (or
writes to the SSPxBUF are disabled).
R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1
MSK7 MSK6 MSK5 MSK4 MSK3 MSK2 MSK1 MSK0
(2)
bit 7 bit 0
Legend:
R = Readable bit W = Writable bit U = Unimplemented bit, read as ‘0’
-n = Value at POR ‘1’ = Bit is set ‘0’ = Bit is cleared x = Bit is unknown
bit 7-0 MSK<7:0>: Slave Address Mask Select bit
1 = Masking of corresponding bit of SSPxADD is enabled
0 = Masking of corresponding bit of SSPxADD is disabled
Note 1: This register shares the same SFR address as SSPxADD and is only addressable in select MSSPx
operating modes. See Section 21.4.3.4 “7-Bit Address Masking Mode” for more details.
2: MSK0 is not used as a mask bit in 7-bit addressing.