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
14-Pin Devices 20-Pin Devices
0x28 ADGRDB A C A B C
0x27 ADGRDA A C A B C
0x26 DSM1 A C A B C
0x25 CLKR A C A B C
0x24 NCO1 A C A B C
0x23 TMR0 A C A B C
0x22 I2C1 SDA(1) A C A B C
0x21 I2C1 SCL(1) A C A B C
0x20 SPI2 SS A C A B C
0x1F SPI2 SDO A C A B C
0x1E SPI2 SCK A C A B C
0x1D SPI1 SS A C A B C
0x1C SPI1 SDO A C A B C
0x1B SPI1 SCK A C A B C
0x1A C2OUT A C A B C
0x19 C1OUT A C A B C
0x18 UART3 RTS A C A B C
0x17 UART3 TXDE A C A B C
0x16 UART3 TX A C A B C
0x15 UART2 RTS A C A B C
0x14 UART2 TXDE A C A B C
0x13 UART2 TX A C A B C
0x12 UART1 RTS A C A B C
0x11 UART1 TXDE A C A B C
0x10 UART1 TX A C A B C
0x0F PWM3S1P2_OUT A C A B C
0x0E PWM3S1P1_OUT A C A B C
0x0D PWM2S1P2_OUT A C A B C
0x0C PWM2S1P1_OUT A C A B C
0x0B PWM1S1P2_OUT A C A B C
0x0A PWM1S1P1_OUT A C A B C
0x09 CCP1 A C A B C
0x08 CWG1D A C A B C
0x07 CWG1C A C A B C
0x06 CWG1B A C A B C
0x05 CWG1A A C A B C
0x04 CLC4OUT A C A B C
0x03 CLC3OUT A C A B C
0x02 CLC2OUT A C A B C
0x01 CLC1OUT A C A B C
0x00 LATxy A C A B C
Note:
  1. Bidirectional pin. The corresponding input must select the same pin.