18.2 PPS Outputs

Each I/O pin has a PPS 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. These peripherals include:

  • EUSART (synchronous operation)
  • MSSP (I2C)

Although every pin has its own PPS peripheral selection register, the selections are identical for every pin as shown in RxyPPS.

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 detailed output routing options for each peripheral.

Table 18-2. Peripheral PPS Output Selection Codes
RxyPPSPin Rxy Output SourcePORT To Which Output Can Be Directed
28-Pin Devices40-Pin Devices
0x1FCLC8OUTBCBD
0x1ECLC7OUTBCBD
0x1DCLC6OUTACAC
0x1CCLC5OUTACAC
0x1BCLC4OUTBCBD
0x1ACLC3OUTBCBD
0x19CLC2OUTACAC
0x18CLC1OUTACAC
0x17ADGRDBACAC
0x16ADGRDAACAC
0x15DSMACAD
0x14CLKRBCBC
0x13TMR0BCBC
0x12MSSP2 (SDO/SDA)BCBD
0x11MSSP2 (SCK/SCL)BCBD
0x10MSSP1 (SDO/SDA)BCBC
0x0FMSSP1 (SCK/SCL)BCBC
0x0ECMP2ACAE
0x0DCMP1ACAD
0x0CEUSART2 (DT)BCBD
0x0BEUSART2 (TX/CK)BCBD
0x0AEUSART1 (DT)BCBC
0x09EUSART1 (TX/CK)BCBC
0x08PWM4ACAC
0x07PWM3ACAD
0x06CCP2BCBC
0x05CCP1BCBC
0x04CWG1DBCBD
0x03CWG1CBCBD
0x02CWG1BBCBD
0x01CWG1ABCBC
0x00LATxyABCABCDE