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)

Pull Configuration

Pull-up

Inverted I/O

Optional slew rate

Pull-up

Pull-down

Driver strength

Buffer control

Voltage Domains

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

A subset of pins can use separate VDDIO2 supplies

No native MVIO

All pins share the same supply

Supply Status Monitoring

MVIO-only: VDDIO2 status bit interrupt/event, ADC channel

Not available
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

ADC Input for SupplyMVIO-only: VDDIO2 can be measured by ADCNot available
Output Driver Options

Push-pull

Open-drain (Emulated)

Tri-state

Optional slew rate

Push-pull

Open-drain

Tri-state

Configurable driver strength

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

Supported

Can be disabled for low power