22.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 22-2. PPS Output Selection Table
RxyPPSOutput SourceAvailable Output Ports
28-Pin Devices40-Pin Devices48-Pin Devices
0x35RW7ACADAD
0x34RW6BCBDBD
0x33RW5ACADAD
0x32RW4BCBDBD
0x31RW3ACADAD
0x30RW2BCBDBD
0x2FRW1ACADAD
0x2ERW0BCBDBD
0x2DADGRDBABCABCDEABCDEF
0x2CADGRDAABCABCDEABCDEF
0x2BCLKRBCBCBE
0x2ANCO1ACADAD
0x29TU16BBCBDBD
0x28TU16ABCBCCF
0x27TMR0BCBCCF
0x26I2C2 SDA(1)BCBDBD
0x25I2C2 SCL(1)BCBDBD
0x24I2C1 SDA(1)BCBCBC
0x23I2C1 SCL(1)BCBCBC
0x22SPI2 SSACADAD
0x21SPI2 SDOBCBDBD
0x20SPI2 SCK BCBDBD
0x1FSPI1 SSACADAD
0x1ESPI1 SDOBCBCBC
0x1DSPI1 SCK BCBCBC
0x1CC2OUTACAEAE
0x1BC1OUTACADAD
0x1AUART2 RTSBCBDBD
0x19UART2 TXDEBCBDBD
0x18UART2 TXBCBDBD
0x17UART1 RTSBCBCCF
0x16UART1 TXDEBCBCCF
0x15UART1 TXBCBCCF
0x14PWM3S1P2_OUTBCBDBD
0x13PWM3S1P1_OUTBCBDBD
0x12PWM2S1P2_OUTBCBDBD
0x11PWM2S1P1_OUTBCBDBD
0x10PWM1S1P2_OUTBCBCCF
0x0FPWM1S1P1_OUTBCBCCF
0x0ECCP2BCBDBD
0x0DCCP1BCBDBD
0x0CCWG1DBCBDBD
0x0BCWG1CBCBDBD
0x0ACWG1BBCBDBD
0x09CWG1ABCBCBC
0x08CLC8OUTBCBDBD
0x07CLC7OUTBCBDBD
0x06CLC6OUTACACAF
0x05CLC5OUTACACAF
0x04CLC4OUTBCBDBD
0x03CLC3OUTBCBDBD
0x02CLC2OUTACACAF
0x01CLC1OUTACACAF
0x00LATxyABCABCDEABCDEF
Note:
  1. Bidirectional pin. The corresponding input must select the same pin.