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 Register 14-Pin Devices20-Pin Devices
Default Pin Selection at PORRegister Reset Value at PORAvailable Input PortDefault Pin Selection at PORRegister Reset Value at PORAvailable Input Port
Interrupt 0INT0PPSRA2'b000 010ACRC0'b010 000ABC
Interrupt 1INT1PPSRA4'b000 100ACRC1'b010 001ABC
Interrupt 2INT2PPSRA5'b000 101ACRC2'b010 010ABC
Timer0 ClockT0CKIPPSRA2'b000 010ACRC5'b010 101ABC
Timer1 ClockT1CKIPPSRA5'b000 101ACRC6'b010 110ABC
Timer1 GateT1GPPSRA4'b000 100ACRA4'b000 100ABC
Timer3 ClockT3CKIPPSRC5'b010 101ACRC5'b010 101ABC
Timer3 GateT3GPPSRC4'b010 100ACRC4'b010 100ABC
Timer2 InputT2INPPSRA5'b000 101ACRA5'b000 101ABC
Timer4 InputT4INPPSRC1'b010 001ACRC1'b010 001ABC
CCP1CCP1PPSRC5'b010 101ACRC5'b010 101ABC
SMT1 WindowSMT1WINPPSRA5'b000 101ACRA5'b000 101ABC
SMT1 SignalSMT1SIGPPSRC0'b010 000ACRA4'b000 100ABC
PWM Input 0PWMIN0PPSRC5'b010 101ACRC5'b010 101ABC
PWM Input 1PWMIN1PPSRC3'b010 011ACRC3'b010 011ABC
PWM1 External Reset SourcePWM1ERSPPSRA5'b000 101ACRA5'b000 101ABC
PWM2 External Reset SourcePWM2ERSPPSRC1'b010 001ACRC1'b010 001ABC
PWM3 External Reset SourcePWM3ERSPPSRC2'b010 010ACRC2'b010 010ABC
CWG1CWG1PPSRA2'b000 010ACRA2'b000 010ABC
DSM1 Carrier LowMD1CARLPPSRC2'b010 010ACRC2'b010 010ABC
DSM1 Carrier HighMD1CARHPPSRC5'b010 101ACRC5'b010 101ABC
DSM1 SourceMD1SRCPPSRA1'b000 001ACRA1'b000 001ABC
CLCx Input 1CLCIN0PPSRC3'b010 011ACRA2'b000 010ABC
CLCx Input 2CLCIN1PPSRC4'b010 100ACRC3'b010 011ABC
CLCx Input 3CLCIN2PPSRC1'b010 001ACRB4'b001 100ABC
CLCx Input 4CLCIN3PPSRA4'b000 100ACRB5'b001 101ABC
ADC Conversion TriggerADACTPPSRC2'b010 010ACRC2'b010 010ABC
SPI1 ClockSPI1SCKPPSRC0'b010 000ACRB6'b001 110ABC
SPI1 DataSPI1SDIPPSRC1'b010 001ACRB4'b001 100ABC
SPI1 Client SelectSPI1SSPPSRC3'b010 011ACRC6'b010 110ABC
SPI2 ClockSPI2SCKPPSRC4'b010 100ACRB7'b001 111ABC
SPI2 DataSPI2SDIPPSRC5'b010 101ACRB5'b001 101ABC
SPI2 Client SelectSPI2SSPPSRA0'b000 000ACRA1'b000 001ABC
I2C1 ClockI2C1SCLPPS(1)RC0'b010 000ACRB6'b001 110ABC
I2C1 DataI2C1SDAPPS(1)RC1'b010 001ACRB4'b001 100ABC
UART1 ReceiveU1RXPPSRC5'b010 101ACRB5'b001 101ABC
UART1 Clear to SendU1CTSPPSRC4'b010 100ACRB7'b001 111ABC
UART2 ReceiveU2RXPPSRC1'b010 001ACRC1'b010 001ABC
UART2 Clear to SendU2CTSPPSRC2'b010 010ACRC2'b010 010ABC
UART3 ReceiveU3RXPPSRA4'b000 100ACRC3'b010 011ABC
UART3 Clear to SendU3CTSPPSRA5'b000 101ACRC5'b010 101ABC
Note:
  1. Bidirectional pin. The corresponding output must select the same pin.