SLAU929 April 2024 MSPM0C1104 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507 , MSPM0L1105 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1304 , MSPM0L1305 , MSPM0L1306 , MSPM0L2227 , MSPM0L2228 , MSPM0L2228-Q1
MSPM0 and Microchip 8-bit MCUs both support I2C. In MSPM0, the I2C functionality is handled by the I2C module. In Microchip devices, this is slightly different. In ATmega169/329 devices, I2C is handled by the Universal Serial Interface. In the ATmega48/88, it is managed by the 2-Wire Serial Interface. In the ATtiny, the two wire interface or TWI handles I2C communications.
Feature | ATmega | ATtiny | MSPM0 |
---|---|---|---|
Controller and target modes | Yes | Yes | Yes |
Multi-controller capability | Yes | Yes | Yes |
Standard-mode (up to 100 kHz) | Yes | Yes | Yes |
Fast-mode (up to 400 kHz) | Yes | Yes | Yes |
Fast-mode Plus (up to 1 MHz) | No | Yes | Yes |
Addressing mode | 7 bit | 7 or 10 bit | 7 or 10 bit |
Peripheral addresses | 1 Address | 1 Address | 2 addresses |
General call | No for ATmega 169/329, yes for ATmega48/88 | Yes | Yes |
Programmable setup and hold times | No | No | No |
Event management | No | No | Yes |
Clock stretching | No for ATmega169/329, yes for ATmega48/88 | Yes | Yes |
Software reset | Yes | Yes | Yes |
FIFO/Buffer | No | No | TX: 8 byte |
RX: 8 byte | |||
DMA | No | No | Yes |
Programmable analog and digital noise filters |
N/A for Atmega169/329, Input filter not programmable for ATmega48/88 |
Input filter not programmable | Yes |
Information about I2C code examples can be found in the MSPM0 SDK examples guide.