5.2.1 I/O Pins

AVR and PIC32CM MCUs provide highly configurable I/O pin controllers that allow individual pin configurations, including interrupt/event generation on pin changes and peripheral multiplexing for flexible hardware designs. Table 5-10 shows a comparison of features between AVR and PIC32CM.

Table 5-10. AVR® and PIC32CM I/O Features
FeatureAVR® PORTPIC32CM PORT
Port Group SizeUp to eight pins per PORTUp to 32 pins per PORT
Pin MultiplexingPORTMUX for default/alternate peripheral functionsSoftware-controlled, highly flexible
Read-Modify-Write (RMW)Hardware Read-Modify-Write (RMW) via toggle/set/clear registersAtomic RMW via 8/16/32-bit writes
Input Sensing/Interrupts

Asynchronous pin change

Interrupt-on-change

Configurable input sampling

Interrupt-on-Change (IOC)

Voltage Domains

Multi-Voltage I/O (MVIO) support for certain device families:

A subset of pins can use a separate VDDIO2 supply

Multi-Voltage I/O (MVIO) support for certain device families:

A subset of pins can use separate VDDIO2 supplies

Supply Status Monitoring

Through ADC/AC

MVIO: VDDIO2 status bit interrupt/event

Through ADC/AC

MVIO: VDDIO2 status bit interrupt/event

Peripheral OverrideSupported, independent of supply configurationSupported, via the pin configuration register
I/O Bus AccessBit-accessible I/O memory space (virtual ports)

AHB/APB bridge

Arm® single-cycle IOBUS

Output Driver Options

Push-pull

Open-drain control

Slew rate control

Tri-state

Configurable driver strength

Programmable inversion

Push-pull

Open-drain control

Slew rate control

Tri-state

Configurable driver strength

High-sink pins

Input Buffer ControlEnabled by disabling digital inputs on analog-capable pins

Supported

Can be disabled for low power