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) |
| 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 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 |
| 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 Control | Enabled by disabling digital inputs on analog-capable pins |
Supported Can be disabled for low power |
