ATmega32U4 и ATmega16U4
8-битные микроконтроллеры AVR серии megaAVR с 32 и 16 КБ флеш-памяти и частотой до 16 МГц в корпусах TQFP44, QFN44. Распиновка с функциями выводов, сверенными с даташитом, заказные номера, фьюзы с завода и векторы прерываний — по описаниям Microchip.
Обновлено данные Microchip, ATmega_DFP 3.6.299
- Ядро
- AVR, 8 бит
- Флеш-память
- 16 и 32 КБ
- ОЗУ
- 1280 байт и 2560 байт
- EEPROM
- 512 байт и 1 КБ
- Частота
- до 16 МГц
- Питание
- 2,7–5,5 В
- Температура
- −40…+85 °C
- Линии ввода-вывода
- 26
- Корпуса
- TQFP44, QFN44
- Программирование
- ISP, HVPP, JTAG
Схема корпуса
Вид сверху. Выберите периферию — её выводы подсветятся на схеме, а в списке ниже останутся только её сигналы. Наведите курсор на вывод, чтобы увидеть все его функции. Расположение выводов сверено с рисунками и таблицами даташитов.
- ввод-вывод
- питание и земля
- сброс и выбор загрузки
- не подключён
- выбранная периферия
Периферия и её выводы
На какие линии порта выходит каждый сигнал. У классических AVR функции закреплены за линиями: включённая периферия сама занимает свой вывод, выбирать другой, как у STM32, нельзя.
USART — синхронно-асинхронный приёмопередатчик
| Блок | Сигнал | Линия порта |
|---|---|---|
| USART1 | CTS | PD5 |
| RTS | PB7 | |
| RXD1 | PD2 | |
| TXD1 | PD3 | |
| XCK1 | PD5 |
SPI — последовательный интерфейс SPI
| Блок | Сигнал | Линия порта |
|---|---|---|
| SPI | MISO | PB3 |
| MOSI | PB2 | |
| PDI | PB2 | |
| PDO | PB3 | |
| SCK | PB1 | |
| SS | PB0 |
TWI (I²C) — двухпроводной интерфейс, совместимый с I²C
| Блок | Сигнал | Линия порта |
|---|---|---|
| TWI | SCL | PD0 |
| SDA | PD1 |
Таймеры — выходы сравнения и ШИМ, входы счёта и захвата таймеров
| Блок | Сигнал | Линия порта |
|---|---|---|
| TC0 | OC0A | PB7 |
| OC0B | PD0 | |
| T0 | PD7 | |
| TC1 | ICP1 | PD4 |
| OC1A | PB5 | |
| OC1B | PB6 | |
| OC1C | PB7 | |
| T1 | PD6 | |
| TC3 | ICP3 | PC7 |
| OC3A | PC6 | |
| TC4 | OC4A | PC7 |
| OC4A̅ | PC6 | |
| OC4B | PB6 | |
| OC4B̅ | PB5 | |
| OC4D | PD7 | |
| OC4D̅ | PD6 |
АЦП — аналого-цифровой преобразователь
| Блок | Сигнал | Линия порта |
|---|---|---|
| ADC | ADC0 | PF0 |
| ADC1 | PF1 | |
| ADC4 | PF4 | |
| ADC5 | PF5 | |
| ADC6 | PF6 | |
| ADC7 | PF7 | |
| ADC8 | PD4 | |
| ADC9 | PD6 | |
| ADC10 | PD7 | |
| ADC11 | PB4 | |
| ADC12 | PB5 | |
| ADC13 | PB6 |
Компаратор — аналоговый компаратор
| Блок | Сигнал | Линия порта |
|---|---|---|
| AC | AIN0 | PE6 |
Прерывания — внешние прерывания INT и PCINT
| Блок | Сигнал | Линия порта |
|---|---|---|
| EXINT | INT0 | PD0 |
| INT1 | PD1 | |
| INT2 | PD2 | |
| INT3 | PD3 | |
| INT6 | PE6 | |
| PCINT0 | PB0 | |
| PCINT1 | PB1 | |
| PCINT2 | PB2 | |
| PCINT3 | PB3 | |
| PCINT4 | PB4 | |
| PCINT5 | PB5 | |
| PCINT6 | PB6 | |
| PCINT7 | PB7 |
Тактирование — кварцевый генератор, вход и выход тактового сигнала
| Блок | Сигнал | Линия порта |
|---|---|---|
| CPU | CLKO | PC7 |
JTAG — отладка и программирование по JTAG
| Блок | Сигнал | Линия порта |
|---|---|---|
| JTAG | TCK | PF4 |
| TDI | PF7 | |
| TDO | PF6 | |
| TMS | PF5 |
Таблица выводов
Номера выводов в каждом корпусе и функции линий. Обычный режим порта — вход, выход, вход с подтяжкой — есть у каждой линии ввода-вывода, в таблице перечислены только альтернативные функции. Функции сверены с даташитом.
| TQFP44, QFN44 | Имя | Тип | Функции |
|---|---|---|---|
| 1 | PE6 | ввод-вывод | INT6, AIN0 |
| 2 | UVCC | питание | — |
| 3 | D- | служебный | — |
| 4 | D+ | служебный | — |
| 5 | UGND | питание | — |
| 6 | UCAP | питание | — |
| 7 | VBUS | питание | — |
| 8 | PB0 | ввод-вывод | SS, PCINT0 |
| 9 | PB1 | ввод-вывод | SCK, PCINT1 |
| 10 | PB2 | ввод-вывод | PDI, PCINT2, MOSI |
| 11 | PB3 | ввод-вывод | PDO, MISO, PCINT3 |
| 12 | PB7 | ввод-вывод | PCINT7, OC0A, OC1C, RTS |
| 13 | RESET | сброс | — |
| 14, 34 | VCC | питание | — |
| 15, 23, 35, 43 | GND | питание | — |
| 16 | XTAL2 | служебный | XTAL2 |
| 17 | XTAL1 | служебный | XTAL1 |
| 18 | PD0 | ввод-вывод | OC0B, SCL, INT0 |
| 19 | PD1 | ввод-вывод | SDA, INT1 |
| 20 | PD2 | ввод-вывод | RXD1, INT2 |
| 21 | PD3 | ввод-вывод | TXD1, INT3 |
| 22 | PD5 | ввод-вывод | XCK1, CTS |
| 24, 44 | AVCC | питание | — |
| 25 | PD4 | ввод-вывод | ICP1, ADC8 |
| 26 | PD6 | ввод-вывод | T1, OC4D̅, ADC9 |
| 27 | PD7 | ввод-вывод | T0, OC4D, ADC10 |
| 28 | PB4 | ввод-вывод | PCINT4, ADC11 |
| 29 | PB5 | ввод-вывод | OC1A, PCINT5, OC4B̅, ADC12 |
| 30 | PB6 | ввод-вывод | OC1B, PCINT6, OC4B, ADC13 |
| 31 | PC6 | ввод-вывод | OC3A, OC4A̅ |
| 32 | PC7 | ввод-вывод | ICP3, CLKO, OC4A |
| 33 | PE2 | ввод-вывод | HWB |
| 36 | PF7 | ввод-вывод | ADC7, TDI |
| 37 | PF6 | ввод-вывод | ADC6, TDO |
| 38 | PF5 | ввод-вывод | ADC5, TMS |
| 39 | PF4 | ввод-вывод | ADC4, TCK |
| 40 | PF1 | ввод-вывод | ADC1 |
| 41 | PF0 | ввод-вывод | ADC0 |
| 42 | AREF | питание | — |
Питание и служебные выводы
Выводы, которые не являются линиями порта. Номиналы блокировочных конденсаторов и фильтра питания АЦП — в разделе о питании даташита.
| Имя | Выводы | Назначение |
|---|---|---|
| UVCC | TQFP44: 2 | питание стабилизатора USB |
| D- | TQFP44: 3 | линия данных USB |
| D+ | TQFP44: 4 | линия данных USB |
| UGND | TQFP44: 5 | общий провод USB |
| UCAP | TQFP44: 6 | выход стабилизатора USB, к нему подключают внешний конденсатор |
| VBUS | TQFP44: 7 | вход контроля напряжения шины USB |
| RESET | TQFP44: 13 | вход сброса, активный уровень — низкий |
| VCC | TQFP44: 14, 34 | напряжение питания |
| GND | TQFP44: 15, 23, 35, 43 | общий провод |
| XTAL2 | TQFP44: 16 | выход генератора для кварца |
| XTAL1 | TQFP44: 17 | вход генератора: кварц или внешний тактовый сигнал |
| AVCC | TQFP44: 24, 44 | питание АЦП и части линий порта; подключают к VCC, даже если АЦП не используется, при работе АЦП — через фильтр нижних частот |
| AREF | TQFP44: 42 | вход опорного напряжения АЦП |
Исполнения
ATmega32U4 и ATmega16U4 — микроконтроллеры с общей распиновкой: в общих корпусах выводы расположены одинаково. Различия — в таблице. Частота и питание — классы скорости из заказных номеров: предельная частота и диапазон питания. Многие модели работают на предельной частоте не во всём диапазоне — зависимость показывает график Speed Grades в даташите. Сигнатура — три байта, по которым программатор узнаёт микроконтроллер, в последнем столбце — его обозначение для ключа -p программы avrdude.
| Микроконтроллер | Флеш | ОЗУ | EEPROM | Частота и питание | Сигнатура | avrdude |
|---|---|---|---|---|---|---|
| ATmega32U4 | 32 КБ | 2560 байт | 1 КБ | 16 МГц, 2,7–5,5 В | 1E 95 87 | m32u4 |
| ATmega16U4 | 16 КБ | 1280 байт | 512 байт | 16 МГц, 2,7–5,5 В | 1E 94 88 | m16u4 |
Заказные номера
Номера для заказа из описания Microchip с корпусом, предельной частотой, диапазонами питания и рабочей температуры.
| Номер | Корпус | Частота | Питание | Температура |
|---|---|---|---|---|
| ATmega32U4-AU | TQFP44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega32U4RC-AU | TQFP44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega32U4-MU | QFN44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega32U4RC-MU | QFN44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega16U4-AU | TQFP44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega16U4RC-AU | TQFP44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega16U4-MU | QFN44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
| ATmega16U4RC-MU | QFN44 | до 16 МГц | 2,7–5,5 В | −40…+85 °C |
Фьюзы с завода
Значения фьюзов, с которыми микроконтроллер приходит с завода, и источник тактового сигнала, который они выбирают. В скобках — имя байта в avrdude. Расшифровку каждого бита, другие режимы и готовую команду avrdude даёт калькулятор фьюзов AVR.
Векторы прерываний
Таблица векторов ATmega32U4: номер, как в даташите (сброс — первый), имя вектора по описанию Microchip и источник прерывания. Обработчик в avr-gcc объявляют макросом ISR() с именем вектора из avr/io.h — обычно это имя из таблицы с суффиксом _vect, например ISR(INT0_vect).
| № | Вектор | Источник |
|---|---|---|
| 1 | RESET | сброс: включение питания, вывод RESET, BOD, сторожевой таймер |
| 2 | INT0 | внешнее прерывание INT0 |
| 3 | INT1 | внешнее прерывание INT1 |
| 4 | INT2 | внешнее прерывание INT2 |
| 5 | INT3 | внешнее прерывание INT3 |
| 6 | Reserved1 | Reserved1 |
| 7 | Reserved2 | Reserved2 |
| 8 | INT6 | внешнее прерывание INT6 |
| 9 | Reserved3 | Reserved3 |
| 10 | PCINT0 | изменение уровня на выводах группы PCINT0 |
| 11 | USB_GEN | USB: общие события |
| 12 | USB_COM | USB: события конечных точек |
| 13 | WDT | сторожевой таймер |
| 14 | Reserved4 | Reserved4 |
| 15 | Reserved5 | Reserved5 |
| 16 | Reserved6 | Reserved6 |
| 17 | TIMER1_CAPT | таймер 1: захват |
| 18 | TIMER1_COMPA | таймер 1: совпадение с OCR1A |
| 19 | TIMER1_COMPB | таймер 1: совпадение с OCR1B |
| 20 | TIMER1_COMPC | таймер 1: совпадение с OCR1C |
| 21 | TIMER1_OVF | таймер 1: переполнение |
| 22 | TIMER0_COMPA | таймер 0: совпадение с OCR0A |
| 23 | TIMER0_COMPB | таймер 0: совпадение с OCR0B |
| 24 | TIMER0_OVF | таймер 0: переполнение |
| 25 | SPI_STC | SPI: передача завершена |
| 26 | USART1_RX | USART1: приём завершён |
| 27 | USART1_UDRE | USART1: регистр данных пуст |
| 28 | USART1_TX | USART1: передача завершена |
| 29 | ANALOG_COMP | аналоговый компаратор |
| 30 | ADC | АЦП: преобразование завершено |
| 31 | EE_READY | EEPROM готова к записи |
| 32 | TIMER3_CAPT | таймер 3: захват |
| 33 | TIMER3_COMPA | таймер 3: совпадение с OCR3A |
| 34 | TIMER3_COMPB | таймер 3: совпадение с OCR3B |
| 35 | TIMER3_COMPC | таймер 3: совпадение с OCR3C |
| 36 | TIMER3_OVF | таймер 3: переполнение |
| 37 | TWI | TWI (I²C) |
| 38 | SPM_READY | готовность к записи флеш-памяти (SPM) |
| 39 | TIMER4_COMPA | таймер 4: совпадение с OCR4A |
| 40 | TIMER4_COMPB | таймер 4: совпадение с OCR4B |
| 41 | TIMER4_COMPD | таймер 4: совпадение с OCR4D |
| 42 | TIMER4_OVF | таймер 4: переполнение |
| 43 | TIMER4_FPF | Timer/Counter4 Fault Protection Interrupt |
Частые вопросы
Чем отличаются ATmega32U4 и ATmega16U4?
Объём памяти: ATmega32U4 — 32 КБ флеш, 2560 байт ОЗУ, 1 КБ EEPROM; ATmega16U4 — 16 КБ флеш, 1280 байт ОЗУ, 512 байт EEPROM. Сигнатуры разные: avrdude сверяет сигнатуру с типом, указанным ключом -p, и не станет прошивать другой микроконтроллер без ключа -F. В общих корпусах расположение выводов и их функции одинаковые.
Какие фьюзы у ATmega32U4 с завода?
LOW 0x52, HIGH 0x99, EXTENDED 0xFB — тактирование: внутренний RC-генератор, делитель на 8 (CKDIV8). Расшифровку каждого бита и команду avrdude для своих значений даёт калькулятор фьюзов AVR.
Сколько линий ввода-вывода у ATmega32U4?
26 линий: PB0–PB7, PC6–PC7, PD0–PD7, PE2, PE6, PF0, PF1, PF4, PF5, PF6, PF7. У каждой есть альтернативные функции периферии — они перечислены в таблице выводов.
Как прошить ATmega32U4?
Через ISP-программатор: PDI — PB2 (вывод 10 в TQFP44), PDO — PB3 (вывод 11 в TQFP44), SCK — PB1 (вывод 9 в TQFP44), RESET — вывод 13 в TQFP44, плюс питание и общий провод. В avrdude микроконтроллер выбирается ключом -p m32u4. Другие интерфейсы ATmega32U4: HVPP — высоковольтное параллельное программирование, JTAG — программирование и отладка.
В каких корпусах выпускается ATmega32U4?
TQFP44 и QFN44. Распиновка у них одинаковая. Полный список заказных номеров с диапазонами температуры и питания — в разделе «Заказные номера».
Источники
Корпуса, выводы, память, заказные номера, фьюзы, сигнатуры и векторы прерываний — из файлов описания устройств (ATDF) в паках Microchip ATmega_DFP 3.6.299 от 22 января 2026 г., лицензия Apache 2.0. Данные преобразованы в таблицы и схемы корпусов; тексты и рисунки — GAW. Лицензии и источники данных.
Функции и расположение выводов сверены с даташитом ATmega16U4/32U4 (Atmel-7766J).
Калькуляторы и статьи
- Фьюзы AVRБиты фьюзов, заводские значения и avrdude
- Таймер AVR и STM32Предделитель, OCRnA, PSC и ARR под частоту
- Скорость UARTUBRR, BRR, TH1 и ошибка скорости
- Конденсаторы для кварцаC1 и C2 по CL, запас генерации, уход частоты
- Подтягивающие резисторы I²CДиапазон Rp по напряжению, скорости и ёмкости шины
- AVR ISP, UPDI и TPIISP 6 и 10 pin, USBasp, UPDI и TPI
- Система команд AVRВсе инструкции с флагами и тактами, адресация, примеры кода
- UARTКадр 8N1, скорость и допуск, TX и RX, уровни, USB–UART, AVR и STM32