21.3 PPS Outputs

Each digital peripheral has a dedicated Pin Rxy Output Source Selection (RxyPPS) register with which the pin output source is selected. With few exceptions, the port TRIS control associated with that pin retains control over the pin output driver. Peripherals that control the pin output driver as part of the peripheral operation will override the TRIS control as needed. The I2C module is an example of such a peripheral.

Important: The notation ‘Rxy’ is a placeholder for the pin identifier. The ‘x’ holds the place of the PORT letter and the ‘y’ holds the place of the bit number. For example, Rxy = RA0 for the RA0PPS register.

The table below shows the output codes for each peripheral, as well as the available Port selections.

Table 21-2. PPS Output Selection Table
RxyPPS Output Source Available Output Ports
28-Pin Devices 40-Pin Devices 48-Pin Devices
0x46 CANTX B C B D B D
0x45 ADGRDB A C A C A F
0x44 ADGRDA A C A C A F
0x43 DSM1 A C A D A D
0x42 CLKR B C B C B E
0x41 NCO3 B C B E B E
0x40 NCO2 B C B D B D
0x3F NCO1 A C A D A D
0x3E - 0x3C Reserved
0x3B TU16B B C B D B D
0x3A TU16A B C B C C F
0x39 TMR0 B C B C C F
0x38 I2C1 SDA(1) B C B C B C
0x37 I2C1 SCL(1) B C B C B C
0x36 SPI2 SS A C A D A D
0x35 SPI2 SDO B C B D B D
0x34 SPI2 SCK B C B D B D
0x33 SPI1 SS A C A D A D
0x32 SPI1 SDO B C B C B C
0x31 SPI1 SCK B C B C B C
0x30 C2OUT A C A E A E
0x2F C1OUT A C A D A D
0x2E UART5 RTS B C B C C F
0x2D UART5 TXDE B C B C C F
0x2C UART5 TX B C B C C F
0x2B UART4 RTS A B A D A D
0x2A UART4 TXDE A B A D A D
0x29 UART4 TX A B A D A D
0x28 UART3 RTS A B A B A F
0x27 UART3 TXDE A B A B A F
0x26 UART3 TX A B A B A F
0x25 UART2 RTS B C B D B D
0x24 UART2 TXDE B C B D B D
0x23 UART2 TX B C B D B D
0x22 UART1 RTS B C B C C F
0x21 UART1 TXDE B C B C C F
0x20 UART1 TX B C B C C F
0x1F PWM4S1P2_OUT A C A D A D
0x1E PWM4S1P1_OUT A C A C C F
0x1D PWM3S1P2_OUT B C B D B D
0x1C PWM3S1P1_OUT B C B D B D
0x1B PWM2S1P2_OUT B C B D B D
0x1A PWM2S1P1_OUT B C B D B D
0x19 PWM1S1P2_OUT B C B C C F
0x18 PWM1S1P1_OUT B C B C C F
0x17 CCP3 B C B D B D
0x16 CCP2 B C B C C F
0x15 CCP1 B C B C C F
0x14 CWG3D A C A D A D
0x13 CWG3C A C A D A D
0x12 CWG3B A C A E A E
0x11 CWG3A B C B C B C
0x10 CWG2D B C B D B D
0x0F CWG2C B C B D B D
0x0E CWG2B B C B D B D
0x0D CWG2A B C B C B C
0x0C CWG1D B C B D B D
0x0B CWG1C B C B D B D
0x0A CWG1B B C B D B D
0x09 CWG1A B C B C B C
0x08 CLC8OUT B C B D B D
0x07 CLC7OUT B C B D B D
0x06 CLC6OUT A C A C A F
0x05 CLC5OUT A C A C A F
0x04 CLC4OUT B C B D B D
0x03 CLC3OUT B C B D B D
0x02 CLC2OUT A C A C A F
0x01 CLC1OUT A C A C A F
0x00 LATxy A B C A B C D E A B C D E F
Note:
  1. Bidirectional pin. The corresponding input must select the same pin.