6 I/O Ports and Peripheral Pin Select (PPS)

General purpose I/O (GPIO) pins allow the PIC32CX-BZ2 devices to monitor and control other devices. To add flexibility and functionality, some pins are multiplexed with alternate function(s). These functions depend on which peripheral features are on the device. In general, when a peripheral is functioning, that pin may not be used as a general purpose I/O pin. For more details on pin multiplexing, see GPIO Pins/PPS Functions from Related Links. There are default priorities for each GPIO pin as well. For details on priorities, see Function Priority for Device Pins from Related Links. It must be noted that ‘fuse’ values stored in NVR memory can be used to alter the power-on default function for certain GPIO pins. See System Configuration Registers (CFG) from Related Links.

Some of the key features of the I/O ports are:

  • Individual output pin open-drain enable/disable
  • Individual input pin weak pull-up and pull-down
  • Monitor selective inputs and generate interrupt when change in pin state is detected
  • Operation during Sleep and Idle modes
    • Fast bit manipulation using CLR, SET and INV registers
    • Slew rate control

The following figure illustrates a block diagram of a typical multiplexed I/O port.

Figure 6-1. Typical Multiplexed Port Structure Block Diagram