21.2 PPS Inputs

Each digital peripheral has a dedicated PPS Peripheral Input Selection (xxxPPS) register with which the input pin to the peripheral is selected. Devices that have 20 leads or less (8/14/16/20) allow PPS routing to any I/O pin, while devices with 28 leads or more allow PPS routing to I/Os contained within two ports (see the table below).

Important: The notation “xxx” in the generic register name is a placeholder for the peripheral identifier. For example, xxx = T0CKI for the T0CKIPPS register.

Multiple peripherals can operate from the same source simultaneously. Port reads always return the pin level regardless of peripheral PPS selection. If a pin also has analog functions associated, the ANSEL bit for that pin must be cleared to enable the digital input buffer.

Table 21-1. PPS Input Selection Table
PeripheralPPS Input RegisterDefault Pin Selection at PORRegister Reset Value at PORAvailable Input Port
28-Pin Devices40-Pin Devices48-Pin Devices
Interrupt 0INT0PPSRB0'b001 000AB—AB———AB————
Interrupt 1INT1PPSRB1'b001 001AB—AB————B—D——
Interrupt 2INT2PPSRB2'b001 010AB—AB————B———F
Timer0 ClockT0CKIPPSRA4'b000 100AB—AB———A————F
Timer1 ClockT1CKIPPSRC0'b010 000A—CA—C————C—E—
Timer1 GateT1GPPSRB5'b001 101—BC—BC———BC———
Timer3 ClockT3CKIPPSRC0'b010 000—BC—BC————C—E—
Timer3 GateT3GPPSRC0'b010 000A—CA—C——A—C———
Timer5 ClockT5CKIPPSRC2'b010 010A—CA—C————C—E—
Timer5 GateT5GPPSRB4'b001 100—BC—B—D——B—D——
Timer2 InputT2INPPSRC3'b010 011A—CA—C——A—C———
Timer4 InputT4INPPSRC5'b010 101—BC—BC———BC———
Timer6 InputT6INPPSRB7'b001 111—BC—B—D——B—D——
Universal Timer Input 0TUIN0PPSRC0'b010 000A—C——C—E——C—E—
Universal Timer Input 1TUIN1PPSRB5'b001 101—BC—BC———B———F—
CCP1CCP1PPSRC2'b010 010—BC—BC————C——F
CCP2CCP2PPSRC1'b010 001—BC—BC————C——F
CCP3CCP3PPSRB5'b001 101—BC—B—D——B—D——
SMT1 WindowSMT1WINPPSRC0'b010 000—BC—BC————C——F
SMT1 SignalSMT1SIGPPSRC1'b010 001—BC—BC————C——F
PWM Input 0PWMIN0PPSRC2'b010 010—BC—BC————C——F
PWM Input 1PWMIN1PPSRC6'b010 110A—CA———EA———E—
PWM1 External Reset SourcePWM1ERSPPSRC3'b010 011A—CA—C——A—C— —
PWM2 External Reset SourcePWM2ERSPPSRC5'b010 101A—CA—C————C—E—
PWM3 External Reset SourcePWM3ERSPPSRB7'b001 111—BC—B—D——B—D——
PWM4 External Reset SourcePWM4ERSPPSRC3'b010 011A—CA—C————C—E—
CWG1CWG1PPSRB0'b001 000—BC—B—D——B—D——
CWG2CWG2PPSRB1'b001 001—BC—B—D——B—D——
CWG3CWG3PPSRB2'b001 010—BC—B—D——B—D——
DSM1 Carrier LowMD1CARLPPSRA3'b000 011A—CA——D—A——D——
DSM1 Carrier HighMD1CARHPPSRA4'b000 100A—CA——D—A——D——
DSM1 SourceMD1SRCPPSRA5'b000 101A—CA——D—A——D——
CLCx Input 1CLCIN0PPSRA0'b000 000A—CA—C ——A—C———
CLCx Input 2CLCIN1PPSRA1'b000 001A—CA—C——A—C———
CLCx Input 3CLCIN2PPSRB6'b001 110—BC—B—D——B—D——
CLCx Input 4CLCIN3PPSRB7'b001 111—BC—B—D——B—D——
CLCx Input 5CLCIN4PPSRA0'b000 000A—CA—C——A—C———
CLCx Input 6CLCIN5PPSRA1'b000 001A—CA—C——A—C———
CLCx Input 7CLCIN6PPSRB6'b001 110—BC—B—D——B—D——
CLCx Input 8CLCIN7PPSRB7'b001 111—BC—B—D——B—D——
ADC Conversion TriggerADACTPPSRB4'b001 100—BC—B—D——B—D——
SPI1 ClockSPI1SCKPPSRC3'b010 011—BC—BC———BC———
SPI1 DataSPI1SDIPPSRC4'b010 100—BC—BC———BC———
SPI1 Client SelectSPI1SSPPSRA5'b000 101A—CA——D—A——D——
SPI2 ClockSPI2SCKPPSRB3'b001 011—BC—B—D——B—D——
SPI2 DataSPI2SDIPPSRB2'b001 010—BC—B—D——B—D——
SPI2 Client SelectSPI2SSPPSRA4'b000 100A—CA——D—A——D——
I2C1 ClockI2C1SCLPPS(1)RC3'b010 011—BC—BC———BC———
I2C1 DataI2C1SDAPPS(1)RC4'b010 100—BC—BC———BC———
UART1 ReceiveU1RXPPSRC7'b010 111—BC—BC————C——F
UART1 Clear to SendU1CTSPPSRC6'b010 110—BC—BC————C——F
UART2 ReceiveU2RXPPSRB7'b001 111—BC—B—D——B—D——
UART2 Clear to SendU2CTSPPSRB6'b001 110—BC—B—D——B—D——
UART3 ReceiveU3RXPPSRA7'b000 111AB—AB———A————F
UART3 Clear to SendU3CTSPPSRA6'b000 110AB—AB———A————F
UART4 ReceiveU4RXPPSRB5'b001 101—BC—B—D——B—D——
UART4 Clear to SendU4CTSPPSRB4'b001 100—BC—B—D——B—D——
UART5 ReceiveU5RXPPSRA5'b000 101A—CA—C——A————F
UART5 Clear to SendU5CTSPPSRA4'b000 100A—CA—C——A————F
CAN ReceiveCANRXPPSRB3'b001 011—BC—B—D——B—D——
Note:
  1. Bidirectional pin. The corresponding output must select the same pin.