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.
| Feature | AVR® PORT | PIC32CM PORT |
|---|---|---|
| Port Group Size | Up to eight pins per PORT | Up to 32 pins per PORT |
| Pin Multiplexing | PORTMUX for default/alternate peripheral functions | Software-controlled, highly flexible |
| Read-Modify-Write (RMW) | Hardware Read-Modify-Write (RMW) via toggle/set/clear registers | Atomic 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 Override | Supported, independent of supply configuration | Supported, via the pin configuration register |
| I/O Bus Access | Bit-accessible I/O memory space (virtual ports) |
AHB/APB bridge Arm® single-cycle IOBUS |
| ADC Input for Supply | MVIO-only: VDDIO2 can be measured by ADC | Not 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 Control | Enabled by disabling digital inputs on analog-capable pins |
Supported Can be disabled for low power |
