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 000ABABAB
Interrupt 1INT1PPSRB1'b001 001ABABBD
Interrupt 2INT2PPSRB2'b001 010ABABBF
Timer0 ClockT0CKIPPSRA4'b000 100ABABAF
Timer1 ClockT1CKIPPSRC0'b010 000ACACCE
Timer1 GateT1GPPSRB5'b001 101BCBCBC
Timer3 ClockT3CKIPPSRC0'b010 000BCBCCE
Timer3 GateT3GPPSRC0'b010 000ACACAC
Timer5 ClockT5CKIPPSRC2'b010 010ACACCE
Timer5 GateT5GPPSRB4'b001 100BCBDBD
Timer2 InputT2INPPSRC3'b010 011ACACAC
Timer4 InputT4INPPSRC5'b010 101BCBCBC
Timer6 InputT6INPPSRB7'b001 111BCBDBD
Universal Timer Input 0TUIN0PPSRC0'b010 000ACCECE
Universal Timer Input 1TUIN1PPSRB5'b001 101BCBCBF
CCP1CCP1PPSRC2'b010 010BCBCCF
CCP2CCP2PPSRC1'b010 001BCBCCF
CCP3CCP3PPSRB5'b001 101BCBDBD
SMT1 WindowSMT1WINPPSRC0'b010 000BCBCCF
SMT1 SignalSMT1SIGPPSRC1'b010 001BCBCCF
PWM Input 0PWMIN0PPSRC2'b010 010BCBCCF
PWM Input 1PWMIN1PPSRC6'b010 110ACAEAE
PWM1 External Reset SourcePWM1ERSPPSRC3'b010 011ACACAC
PWM2 External Reset SourcePWM2ERSPPSRC5'b010 101ACACCE
PWM3 External Reset SourcePWM3ERSPPSRB7'b001 111BCBDBD
PWM4 External Reset SourcePWM4ERSPPSRC3'b010 011ACACCE
CWG1CWG1PPSRB0'b001 000BCBDBD
CWG2CWG2PPSRB1'b001 001BCBDBD
CWG3CWG3PPSRB2'b001 010BCBDBD
DSM1 Carrier LowMD1CARLPPSRA3'b000 011ACADAD
DSM1 Carrier HighMD1CARHPPSRA4'b000 100ACADAD
DSM1 SourceMD1SRCPPSRA5'b000 101ACADAD
CLCx Input 1CLCIN0PPSRA0'b000 000ACAC AC
CLCx Input 2CLCIN1PPSRA1'b000 001ACACAC
CLCx Input 3CLCIN2PPSRB6'b001 110BCBDBD
CLCx Input 4CLCIN3PPSRB7'b001 111BCBDBD
CLCx Input 5CLCIN4PPSRA0'b000 000ACACAC
CLCx Input 6CLCIN5PPSRA1'b000 001ACACAC
CLCx Input 7CLCIN6PPSRB6'b001 110BCBDBD
CLCx Input 8CLCIN7PPSRB7'b001 111BCBDBD
ADC Conversion TriggerADACTPPSRB4'b001 100BCBDBD
SPI1 ClockSPI1SCKPPSRC3'b010 011BCBCBC
SPI1 DataSPI1SDIPPSRC4'b010 100BCBCBC
SPI1 Client SelectSPI1SSPPSRA5'b000 101ACADAD
SPI2 ClockSPI2SCKPPSRB3'b001 011BCBDBD
SPI2 DataSPI2SDIPPSRB2'b001 010BCBDBD
SPI2 Client SelectSPI2SSPPSRA4'b000 100ACADAD
I2C1 ClockI2C1SCLPPS(1)RC3'b010 011BCBCBC
I2C1 DataI2C1SDAPPS(1)RC4'b010 100BCBCBC
UART1 ReceiveU1RXPPSRC7'b010 111BCBCCF
UART1 Clear to SendU1CTSPPSRC6'b010 110BCBCCF
UART2 ReceiveU2RXPPSRB7'b001 111BCBDBD
UART2 Clear to SendU2CTSPPSRB6'b001 110BCBDBD
UART3 ReceiveU3RXPPSRA7'b000 111ABABAF
UART3 Clear to SendU3CTSPPSRA6'b000 110ABABAF
UART4 ReceiveU4RXPPSRB5'b001 101BCBDBD
UART4 Clear to SendU4CTSPPSRB4'b001 100BCBDBD
UART5 ReceiveU5RXPPSRA5'b000 101ACACAF
UART5 Clear to SendU5CTSPPSRA4'b000 100ACACAF
CAN ReceiveCANRXPPSRB3'b001 011BCBDBD
Note:
  1. Bidirectional pin. The corresponding output must select the same pin.