SLAU929A April   2024  – June 2025 MSPM0C1104 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0H3216 , MSPM0L1105 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1MSPM0 Portfolio Overview
    1. 1.1 Introduction
    2. 1.2 Portfolio Comparison of Microchip AVR ATmega and ATiny MCUs to MSPM0
  5. 2Ecosystem and Migration
    1. 2.1 Software Ecosystem Comparison
      1. 2.1.1 MSPM0 Software Development Kit (MSPM0 SDK)
      2. 2.1.2 MPLAB X IDE vs Code Composer Studio IDE (CCS)
      3. 2.1.3 MPLAB Code Configurator vs SysConfig
    2. 2.2 Hardware Ecosystem
    3. 2.3 Debug Tools
    4. 2.4 Migration Process
    5. 2.5 Migration and Porting Example
  6. 3Core Architecture Comparison
    1. 3.1 CPU
    2. 3.2 Embedded Memory Comparison
      1. 3.2.1 Flash Features
      2. 3.2.2 Flash Organization
        1. 3.2.2.1 Memory Banks
        2. 3.2.2.2 Flash Memory Regions
        3. 3.2.2.3 NONMAIN Memory
      3. 3.2.3 Embedded SRAM
    3. 3.3 Power Up and Reset Summary and Comparison
    4. 3.4 Clocks Summary and Comparison
    5. 3.5 MSPM0 Operating Modes Summary and Comparison
      1. 3.5.1 Operating Modes Comparison
      2. 3.5.2 MSPM0 Capabilities in Lower Power Modes
      3. 3.5.3 Entering Lower-Power Modes
    6. 3.6 Interrupt and Events Comparison
      1. 3.6.1 Interrupts and Exceptions
      2. 3.6.2 Event Handler and EXTI (Extended Interrupt and Event Controller)
    7. 3.7 Debug and Programming Comparison
      1. 3.7.1 Bootstrap Loader (BSL) Programming Options
  7. 4Digital Peripheral Comparison
    1. 4.1 General-Purpose I/O (GPIO, IOMUX)
    2. 4.2 Universal Asynchronous Receiver-Transmitter (UART)
    3. 4.3 Serial Peripheral Interface (SPI)
    4. 4.4 I2C
    5. 4.5 Timers (TIMGx, TIMAx)
    6. 4.6 Windowed Watchdog Timer (WWDT)
    7. 4.7 Real-Time Clock (RTC)
  8. 5Analog Peripheral Comparison
    1. 5.1 Analog-to-Digital Converter (ADC)
    2. 5.2 Comparator (COMP)
    3. 5.3 Digital-to-Analog Converter (DAC)
    4. 5.4 Operational Amplifier (OPA)
    5. 5.5 Voltage References (VREF)
  9. 6References
  10. 7Revision History

General-Purpose I/O (GPIO, IOMUX)

MSPM0 GPIO functionality covers all of the features offered by the ATmega and ATtiny devices, with additional functionality. Microchip uses the term GPIO to refer to all the functionality responsible for managing the device pins. However, MSPM0 uses a slightly different nomenclature, namely:

  • MSPM0 GPIO refers to the hardware capable of reading and writing IO, generating interrupts, and so forth.
  • MSPM0 IOMUX refers to the hardware responsible for connecting different internal digital peripherals to a pin. IOMUX services many different digital peripherals including, but not limited to, GPIO.

Together MSPM0 GPIO and IOMUX cover the same functionality as Microchip's GPIO. MSPM0 devices also offer a number of additional functions that are unavailable for Microchip ATmega and ATtiny devices.

Table 4-1 GPIO Feature Comparison
FeatureATmegaATtinyMSPM0G, MSPM0L, MSPM0C
Output modesPush-pull
Open drain with pullup
Push-pull
Open drain with pullup
Push-pull
Open drain with pullup or pulldown
GPIO speed selectionData unavailable2.5ns rise time, 2.0ns fall timeODIO pins: 120ns
All others: 0.3*fmax = 3.75ns @ 80MHz
High-drive GPIOData unavailable100mA combined per pin groupEquivalent, called High Drive IO (HDIO)
Input modesFloating
Pull-up
Analog
Floating
Pull-up
Analog
Equivalent
Atomic bit set and resetYesYesEquivalent
Alternate functionsConfigured with configuration registerConfigured with configuration registerEquivalent
MSPM0 uses IOMUX
Wake-upGPIO pin state changeGPIO pin state changeEquivalent
GPIO controlled by DMA

No

NoYes
User controlled input filtering to reject glitches less than 1, 3, or 8 ULPCLK periodsNoNoYes
User controllable input hysteresisNoNoYes

GPIO code examples

Information about GPIO code examples can be found in the MSPM0 SDK examples guide.