Регистры АЦП STM32F7
Регистры трёх 12-битных АЦП STM32F74x/F75x: состояние, разрядность и сторож, запуск регулярной и инжектированной групп, время выборки, последовательности, смещения, результаты и общие настройки двойного и тройного режимов.
АЦП STM32F7 — тот же блок, что у STM32F4: регулярная группа до 16 каналов (SQR1–SQR3), инжектированная до 4 (JSQR), время выборки 3…480 тактов на канал. Такт АЦП = PCLK2 / 2, 4, 6 или 8 (ADCPRE в ADC_CCR). Таблицы триггеров у STM32F7 свои — с TRGO2 таймеров TIM1 и TIM8 (RM0385, таблицы 96 и 97, раздел 15.13).
Датчик температуры и VREFINT включает бит TSVREFE в ADC_CCR, VBAT — бит VBATE.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| ADC1 | 0x4001 2000 | всех |
| ADC2 | 0x4001 2100 | всех |
| ADC3 | 0x4001 2200 | всех |
| ADC | 0x4001 2300 | всех |
| ADC123_COMMON | 0x4001 2300 | всех |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| ADC_SR | 0x00 | Флаги состояния | 0x0000 0000 |
| ADC_CR1 | 0x04 | Управление 1: сканирование, сторож, режимы | 0x0000 0000 |
| ADC_CR2 | 0x08 | Управление 2: включение, запуск, выравнивание, DMA | 0x0000 0000 |
| ADC_SMPR1 | 0x0C | Время выборки каналов от 10-го | 0x0000 0000 |
| ADC_SMPR2 | 0x10 | Время выборки каналов 0–9 | 0x0000 0000 |
| ADC_JOFR1 | 0x14 | Смещение инжектированного канала 1 | 0x0000 0000 |
| ADC_JOFR2 | 0x18 | Смещение инжектированного канала 2 | 0x0000 0000 |
| ADC_JOFR3 | 0x1C | Смещение инжектированного канала 3 | 0x0000 0000 |
| ADC_JOFR4 | 0x20 | Смещение инжектированного канала 4 | 0x0000 0000 |
| ADC_HTR | 0x24 | Верхний порог аналогового сторожа | 0x0000 0FFF |
| ADC_LTR | 0x28 | Нижний порог аналогового сторожа | 0x0000 0000 |
| ADC_SQR1 | 0x2C | Регулярная последовательность: длина и места 13–16 | 0x0000 0000 |
| ADC_SQR2 | 0x30 | Регулярная последовательность: места 7–12 | 0x0000 0000 |
| ADC_SQR3 | 0x34 | Регулярная последовательность: места 1–6 | 0x0000 0000 |
| ADC_JSQR | 0x38 | Инжектированная последовательность | 0x0000 0000 |
| ADC_JDR1 | 0x3C | Результат инжектированного канала 1 | 0x0000 0000 |
| ADC_JDR2 | 0x40 | Результат инжектированного канала 2 | 0x0000 0000 |
| ADC_JDR3 | 0x44 | Результат инжектированного канала 3 | 0x0000 0000 |
| ADC_JDR4 | 0x48 | Результат инжектированного канала 4 | 0x0000 0000 |
| ADC_DR | 0x4C | Результат регулярного преобразования | 0x0000 0000 |
| ADC_CSR | 0x00 | Общие флаги трёх АЦП | 0x0000 0000 |
| ADC_CCR | 0x04 | Общие настройки: делитель, режимы, датчики | 0x0000 0000 |
| ADC_CDR | 0x08 | Данные двойного и тройного режимов | 0x0000 0000 |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.
Значение: 0x00000000
0000 0000 0000 0000 0000 0000 0000 0000
ADC1->SR = 0x00000000;ADC_SR — флаги состояния
Смещение 0x00, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | OVR | STRT | JSTRT | JEOC | EOC | AWD | |||||||||
- OVR (бит 5) — Переполнение: результат не прочитан вовремя.
- STRT (бит 4) — Началось преобразование регулярной группы.
- JSTRT (бит 3) — Началось преобразование инжектированной группы.
- JEOC (бит 2) — Преобразование инжектированной группы завершено.
- EOC (бит 1) — Преобразование регулярной группы завершено.
- AWD (бит 0) — Сработал аналоговый сторож: напряжение вне порогов.
ADC_CR1 — управление 1: сканирование, сторож, режимы
Смещение 0x04, 32 бит, после сброса 0x0000 0000. В коде: ADC1->CR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | OVRIE | RES | AWDEN | JAWDEN | — | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DISCNUM | JDISCEN | DISCEN | JAUTO | AWDSGL | SCAN | JEOCIE | AWDIE | EOCIE | AWDCH | ||||||
- OVRIE (бит 26) — Прерывание по переполнению.
- RES (биты 25:24) — Разрядность преобразования.
RES Значение 00 12 бит (15 тактов ADCCLK) 01 10 бит (13 тактов) 10 8 бит (11 тактов) 11 6 бит (9 тактов) - AWDEN (бит 23) — Аналоговый сторож на регулярных каналах.
- JAWDEN (бит 22) — Аналоговый сторож на инжектированных каналах.
- DISCNUM (биты 15:13) — Число каналов за один запуск в прерывистом режиме: DISCNUM + 1.
DISCNUM Значение 000 1 канал 001 2 канала 010 3 канала 011 4 канала 100 5 каналов 101 6 каналов 110 7 каналов 111 8 каналов - JDISCEN (бит 12) — Прерывистый режим инжектированной группы.
- DISCEN (бит 11) — Прерывистый режим регулярной группы.
- JAUTO (бит 10) — Автоматический запуск инжектированной группы после регулярной.
- AWDSGL (бит 9) — Сторож следит за одним каналом AWDCH или за всеми.
- SCAN (бит 8) — Сканирование: каналы группы преобразуются по очереди.
- JEOCIE (бит 7) — Прерывание по окончании инжектированной группы.
- AWDIE (бит 6) — Прерывание аналогового сторожа.
- EOCIE (бит 5) — Прерывание по окончании регулярной группы.
- AWDCH (биты 4:0) — Канал аналогового сторожа при AWDSGL = 1.
ADC_CR2 — управление 2: включение, запуск, выравнивание, DMA
Смещение 0x08, 32 бит, после сброса 0x0000 0000. В коде: ADC1->CR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | SWSTART | EXTEN | EXTSEL | — | JSWSTART | JEXTEN | JEXTSEL | ||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | ALIGN | EOCS | DDS | DMA | — | CONT | ADON | ||||||||
- SWSTART (бит 30) — Программный запуск регулярной группы.
- EXTEN (биты 29:28) — Внешний запуск регулярной группы и его фронт.
EXTEN Значение 00 Внешний запуск выключен 01 Нарастающий фронт 10 Спадающий фронт 11 Оба фронта - EXTSEL (биты 27:24) — Событие запуска регулярной группы.
EXTSEL Значение 0000 TIM1 CC1 0001 TIM1 CC2 0010 TIM1 CC3 0011 TIM2 CC2 0100 TIM5 TRGO 0101 TIM4 CC4 0110 TIM3 CC4 0111 TIM8 TRGO 1000 TIM8 TRGO2 1001 TIM1 TRGO 1010 TIM1 TRGO2 1011 TIM2 TRGO 1100 TIM4 TRGO 1101 TIM6 TRGO 1111 EXTI11 - JSWSTART (бит 22) — Программный запуск инжектированной группы.
- JEXTEN (биты 21:20) — Внешний запуск инжектированной группы и его фронт.
JEXTEN Значение 00 Внешний запуск выключен 01 Нарастающий фронт 10 Спадающий фронт 11 Оба фронта - JEXTSEL (биты 19:16) — Событие запуска инжектированной группы.
JEXTSEL Значение 0000 TIM1 TRGO 0001 TIM1 CC4 0010 TIM2 TRGO 0011 TIM2 CC1 0100 TIM3 CC4 0101 TIM4 TRGO 0111 TIM8 CC4 1000 TIM1 TRGO2 1001 TIM8 TRGO 1010 TIM8 TRGO2 1011 TIM3 CC3 1100 TIM5 TRGO 1101 TIM3 CC1 1110 TIM6 TRGO - ALIGN (бит 11) — Выравнивание результата в 16-битном регистре.
ALIGN Значение 0 По правому краю 1 По левому краю - EOCS (бит 10) — Когда ставится флаг EOC.
EOCS Значение 0 После всей последовательности 1 После каждого преобразования - DDS (бит 9) — Запросы DMA после последней передачи: прекращаются или продолжаются.
- DMA (бит 8) — Запрос DMA после каждого регулярного преобразования.
- CONT (бит 1) — Непрерывные преобразования.
- ADON (бит 0) — Включение АЦП.
ADC_SMPR1 — время выборки каналов от 10-го
Смещение 0x0C, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SMPR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | SMP18 | SMP17 | SMP16 | SMP15 | |||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SMP15 | SMP14 | SMP13 | SMP12 | SMP11 | SMP10 | ||||||||||
- SMP10–SMP18 (по 3 бита на каждый y, положение — на карте битов) — Время выборки канала y.
SMPy Значение 000 3 тактов 001 15 тактов 010 28 тактов 011 56 тактов 100 84 тактов 101 112 тактов 110 144 тактов 111 480 тактов
ADC_SMPR2 — время выборки каналов 0–9
Смещение 0x10, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SMPR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | SMP9 | SMP8 | SMP7 | SMP6 | SMP5 | ||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SMP5 | SMP4 | SMP3 | SMP2 | SMP1 | SMP0 | ||||||||||
- SMP0–SMP9 (по 3 бита на каждый y, положение — на карте битов) — Время выборки канала y.
SMPy Значение 000 3 тактов 001 15 тактов 010 28 тактов 011 56 тактов 100 84 тактов 101 112 тактов 110 144 тактов 111 480 тактов
ADC_JOFR1 — смещение инжектированного канала 1
Смещение 0x14, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JOFR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | JOFFSET1 | ||||||||||||||
- JOFFSET1 (биты 11:0) — Смещение, вычитаемое из результата инжектированного канала 1.
ADC_JOFR2 — смещение инжектированного канала 2
Смещение 0x18, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JOFR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | JOFFSET2 | ||||||||||||||
- JOFFSET2 (биты 11:0) — Смещение, вычитаемое из результата инжектированного канала 2.
ADC_JOFR3 — смещение инжектированного канала 3
Смещение 0x1C, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JOFR3.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | JOFFSET3 | ||||||||||||||
- JOFFSET3 (биты 11:0) — Смещение, вычитаемое из результата инжектированного канала 3.
ADC_JOFR4 — смещение инжектированного канала 4
Смещение 0x20, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JOFR4.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | JOFFSET4 | ||||||||||||||
- JOFFSET4 (биты 11:0) — Смещение, вычитаемое из результата инжектированного канала 4.
ADC_HTR — верхний порог аналогового сторожа
Смещение 0x24, 32 бит, после сброса 0x0000 0FFF. В коде: ADC1->HTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | HT | ||||||||||||||
- HT (биты 11:0) — Верхний порог аналогового сторожа.
ADC_LTR — нижний порог аналогового сторожа
Смещение 0x28, 32 бит, после сброса 0x0000 0000. В коде: ADC1->LTR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | LT | ||||||||||||||
- LT (биты 11:0) — Нижний порог аналогового сторожа.
ADC_SQR1 — регулярная последовательность: длина и места 13–16
Смещение 0x2C, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SQR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | L | SQ16 | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ16 | SQ15 | SQ14 | SQ13 | ||||||||||||
- L (биты 23:20) — Число преобразований регулярной группы: L + 1.
- SQ13–SQ16 (по 5 бита на каждый y, положение — на карте битов) — Номер канала на y-м месте регулярной последовательности.
ADC_SQR2 — регулярная последовательность: места 7–12
Смещение 0x30, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SQR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | SQ12 | SQ11 | SQ10 | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ10 | SQ9 | SQ8 | SQ7 | ||||||||||||
- SQ7–SQ12 (по 5 бита на каждый y, положение — на карте битов) — Номер канала на y-м месте регулярной последовательности.
ADC_SQR3 — регулярная последовательность: места 1–6
Смещение 0x34, 32 бит, после сброса 0x0000 0000. В коде: ADC1->SQR3.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | SQ6 | SQ5 | SQ4 | ||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SQ4 | SQ3 | SQ2 | SQ1 | ||||||||||||
- SQ1–SQ6 (по 5 бита на каждый y, положение — на карте битов) — Номер канала на y-м месте регулярной последовательности.
ADC_JSQR — инжектированная последовательность
Смещение 0x38, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JSQR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | JL | JSQ4 | |||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JSQ4 | JSQ3 | JSQ2 | JSQ1 | ||||||||||||
- JL (биты 21:20) — Число преобразований инжектированной группы: JL + 1.
- JSQ4 (биты 19:15) — Номер канала в поле JSQ4; при JL < 3 последовательность начинается не с JSQ1, а заканчивается на JSQ4.
- JSQ3 (биты 14:10) — Номер канала в поле JSQ3; при JL < 3 последовательность начинается не с JSQ1, а заканчивается на JSQ4.
- JSQ2 (биты 9:5) — Номер канала в поле JSQ2; при JL < 3 последовательность начинается не с JSQ1, а заканчивается на JSQ4.
- JSQ1 (биты 4:0) — Номер канала в поле JSQ1; при JL < 3 последовательность начинается не с JSQ1, а заканчивается на JSQ4.
ADC_JDR1 — результат инжектированного канала 1
Смещение 0x3C, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JDR1.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JDATA | |||||||||||||||
- JDATA (биты 15:0) — Результат инжектированного канала за вычетом смещения JOFFSET.
ADC_JDR2 — результат инжектированного канала 2
Смещение 0x40, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JDR2.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JDATA | |||||||||||||||
- JDATA (биты 15:0) — Результат инжектированного канала за вычетом смещения JOFFSET.
ADC_JDR3 — результат инжектированного канала 3
Смещение 0x44, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JDR3.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JDATA | |||||||||||||||
- JDATA (биты 15:0) — Результат инжектированного канала за вычетом смещения JOFFSET.
ADC_JDR4 — результат инжектированного канала 4
Смещение 0x48, 32 бит, после сброса 0x0000 0000. В коде: ADC1->JDR4.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JDATA | |||||||||||||||
- JDATA (биты 15:0) — Результат инжектированного канала за вычетом смещения JOFFSET.
ADC_DR — результат регулярного преобразования
Смещение 0x4C, 32 бит, после сброса 0x0000 0000. В коде: ADC1->DR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| ADC2DATA | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA | |||||||||||||||
- ADC2DATA (биты 31:16) — По RM0385 биты зарезервированы; данные ADC2 в двойном режиме — в ADC_CDR.
- DATA (биты 15:0) — Результат регулярного преобразования.
ADC_CSR — общие флаги трёх АЦП
Смещение 0x00, 32 бит, после сброса 0x0000 0000. В коде: ADC->CSR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | OVR3 | STRT3 | JSTRT3 | JEOC3 | EOC3 | AWD3 | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| — | OVR2 | STRT2 | JSTRT2 | JEOC2 | EOC2 | AWD2 | — | OVR1 | STRT1 | JSTRT1 | JEOC1 | EOC1 | AWD1 | ||
- OVR1–OVR3 (по биту на каждый y, положение — на карте битов) — Переполнение: результат не прочитан вовремя (АЦПy).
- STRT1–STRT3 (по биту на каждый y, положение — на карте битов) — Началось преобразование регулярной группы (АЦПy).
- JSTRT1–JSTRT3 (по биту на каждый y, положение — на карте битов) — Началось преобразование инжектированной группы (АЦПy).
- JEOC1–JEOC3 (по биту на каждый y, положение — на карте битов) — Преобразование инжектированной группы завершено (АЦПy).
- EOC1–EOC3 (по биту на каждый y, положение — на карте битов) — Преобразование регулярной группы завершено (АЦПy).
- AWD1–AWD3 (по биту на каждый y, положение — на карте битов) — Сработал аналоговый сторож АЦПy: напряжение вне порогов.
ADC_CCR — общие настройки: делитель, режимы, датчики
Смещение 0x04, 32 бит, после сброса 0x0000 0000. В коде: ADC->CCR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| — | TSVREFE | VBATE | — | ADCPRE | |||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DMA | DDS | — | DELAY | — | MULTI | ||||||||||
- TSVREFE (бит 23) — Включение датчика температуры и канала VREFINT.
- VBATE (бит 22) — Включение канала VBAT.
- ADCPRE (биты 17:16) — Делитель частоты всех АЦП от PCLK2.
ADCPRE Значение 00 PCLK2 / 2 01 PCLK2 / 4 10 PCLK2 / 6 11 PCLK2 / 8 - DMA (биты 15:14) — Режим DMA в двойном и тройном режимах.
DMA Значение 00 Выключен 01 Режим 1: полуслова по одному 10 Режим 2: полуслова парами 11 Режим 3: байты парами - DDS (бит 13) — Запросы DMA многоканального режима после последней передачи: прекращаются или продолжаются.
- DELAY (биты 11:8) — Пауза между выборками в чередующемся режиме: 5–20 тактов ADCCLK.
DELAY Значение 0000 5 тактов ADCCLK 0001 6 тактов ADCCLK 0010 7 тактов ADCCLK 0011 8 тактов ADCCLK 0100 9 тактов ADCCLK 0101 10 тактов ADCCLK 0110 11 тактов ADCCLK 0111 12 тактов ADCCLK 1000 13 тактов ADCCLK 1001 14 тактов ADCCLK 1010 15 тактов ADCCLK 1011 16 тактов ADCCLK 1100 17 тактов ADCCLK 1101 18 тактов ADCCLK 1110 19 тактов ADCCLK 1111 20 тактов ADCCLK - MULTI (биты 4:0) — Совместная работа АЦП: независимо, двойной или тройной режим.
MULTI Значение 00000 Все АЦП независимы 00001 Двойной: одновременные регулярные + одновременные инжектированные 00010 Двойной: одновременные регулярные + поочерёдный запуск 00101 Двойной: только одновременные инжектированные 00110 Двойной: только одновременные регулярные 00111 Двойной: только чередование 01001 Двойной: только поочерёдный запуск 10001 Тройной: одновременные регулярные + одновременные инжектированные 10010 Тройной: одновременные регулярные + поочерёдный запуск 10101 Тройной: только одновременные инжектированные 10110 Тройной: только одновременные регулярные 10111 Тройной: только чередование 11001 Тройной: только поочерёдный запуск
ADC_CDR — данные двойного и тройного режимов
Смещение 0x08, 32 бит, после сброса 0x0000 0000. В коде: ADC->CDR.
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| DATA2 | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DATA1 | |||||||||||||||
- DATA2 (биты 31:16) — Второе значение пары: в двойном режиме — данные ADC2.
- DATA1 (биты 15:0) — Первое значение пары: в двойном режиме — данные ADC1.
Частые вопросы
Как запускать АЦП STM32F7 от TIM2?
Настройте TIM2 с MMS = 010 (TRGO по обновлению), в ADC_CR2 задайте EXTSEL = 1011 (TIM2 TRGO по таблице 96 RM0385) и EXTEN = 01 (нарастающий фронт).
Источники
- STMicroelectronics. RM0385: Reference manual (Rev 9) — раздел 15.13: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f7 v1.2.10: заголовки CMSIS stm32f745xx.h, stm32f746xx.h, stm32f750xx.h, stm32f756xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F7
- Все регистры STM32F7Блоки периферии и заголовки CMSIS
- RCC — тактирование и сбросRCC_CR, RCC_PLLCFGR, RCC_CFGR, RCC_CIR, RCC_AHB1RSTR, RCC_AHB2RSTR
- GPIO — порты ввода-выводаGPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR, GPIOx_PUPDR, GPIOx_IDR, GPIOx_ODR
- SYSCFG — системная конфигурацияSYSCFG_MEMRMP, SYSCFG_PMC, SYSCFG_EXTICR1, SYSCFG_EXTICR2, SYSCFG_EXTICR3, SYSCFG_EXTICR4
- EXTI — контроллер внешних прерываний и событийEXTI_IMR, EXTI_EMR, EXTI_RTSR, EXTI_FTSR, EXTI_SWIER, EXTI_PR
- USART — последовательные порты USART и UARTUSART_CR1, USART_CR2, USART_CR3, USART_BRR, USART_GTPR, USART_RTOR
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_TIMINGR, I2C_TIMEOUTR
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- LPTIM — малопотребляющий таймерLPTIM_ISR, LPTIM_ICR, LPTIM_IER, LPTIM_CFGR, LPTIM_CR, LPTIM_CMP
- DMA — контроллеры прямого доступа к памятиDMA_LISR, DMA_HISR, DMA_LIFCR, DMA_HIFCR, DMA_SxCR, DMA_SxNDT
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR, IWDG_WINR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — блок вычисления CRCCRC_DR, CRC_IDR, CRC_CR, CRC_INIT, CRC_POL
- DBGMCU — поддержка отладкиDBGMCU_IDCODE, DBGMCU_CR, DBGMCU_APB1_FZ, DBGMCU_APB2_FZ
- PWR — управление питаниемPWR_CR1, PWR_CSR1, PWR_CR2, PWR_CSR2
- FLASH — интерфейс флеш-памятиFLASH_ACR, FLASH_KEYR, FLASH_OPTKEYR, FLASH_SR, FLASH_CR, FLASH_OPTCR
- RTC — часы реального времениRTC_TR, RTC_DR, RTC_CR, RTC_ISR, RTC_PRER, RTC_WUTR
- ЦАП — цифро-аналоговый преобразовательDAC_CR, DAC_SWTRIGR, DAC_DHR12R1, DAC_DHR12L1, DAC_DHR8R1, DAC_DHR12R2
- CAN — контроллеры bxCANCAN_MCR, CAN_MSR, CAN_TSR, CAN_RF0R, CAN_RF1R, CAN_IER