Регистры ADC STM32F1
Регистры ADC1–ADC3 STM32F1: включение и калибровка, последовательности каналов регулярной и инжектированной групп, время выборки, внешний запуск, выравнивание, DMA, аналоговый сторож и двойной режим ADC1 и ADC2.
АЦП STM32F1 12-битные: у STM32F101 и F102 один ADC1, у STM32F103, F105 и F107 ещё ADC2, у STM32F103 high- и XL-density — и ADC3. Частота АЦП — PCLK2, делённая полем ADCPRE в RCC, не выше 14 МГц. Преобразование длится время выборки плюс 12,5 такта: при 14 МГц и выборке 1,5 такта — 1 мкс (RM0008, глава 11).
Перед работой АЦП включают битом ADON и запускают калибровку битом CAL — АЦП должен быть включён хотя бы два своих такта. Регулярная группа — до 16 преобразований в порядке SQ1…SQ16, их число L + 1 записывают в SQR1; инжектированная — до 4 (JSQR) и прерывает регулярную. Регистр DR у регулярной группы один, поэтому несколько каналов сканируют с DMA — запросы DMA выдают ADC1 и ADC3, но не ADC2.
Без внешнего события преобразование запускают повторной записью ADON = 1 или битом SWSTART при EXTTRIG = 1 и EXTSEL = 111. Датчик температуры и VREFINT подключены к каналам 16 и 17 ADC1 и включаются битом TSVREFE. В заголовках CMSIS флаги окончания называются EOS и JEOS, в RM0008 — EOC и JEOC.
| Экземпляр | Базовый адрес | Есть у |
|---|---|---|
| ADC1 | 0x4001 2400 | всех |
| ADC2 | 0x4001 2800 | STM32F103, STM32F105, STM32F107 |
| ADC3 | 0x4001 3C00 | STM32F103xE/xG |
Регистры блока
| Регистр | Смещение | Назначение | После сброса |
|---|---|---|---|
| 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 |
Конструктор значения
Выберите регистр и значения полей — конструктор покажет 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 |
| — | STRT | JSTRT | JEOS | EOS | AWD | ||||||||||
- STRT (бит 4) — Началось преобразование регулярной группы.
- JSTRT (бит 3) — Началось преобразование инжектированной группы.
- JEOS (бит 2) — Преобразование инжектированной группы завершено; в RM0008 — JEOC.
- EOS (бит 1) — Преобразование регулярной группы завершено; в RM0008 — EOC.
- 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 |
| — | AWDEN | JAWDEN | — | DUALMOD | |||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| DISCNUM | JDISCEN | DISCEN | JAUTO | AWDSGL | SCAN | JEOSIE | AWDIE | EOSIE | AWDCH | ||||||
- AWDEN (бит 23) — Аналоговый сторож на регулярных каналах.
- JAWDEN (бит 22) — Аналоговый сторож на инжектированных каналах.
- DUALMOD (биты 19:16) — Режим совместной работы ADC1 и ADC2 (поле есть только в ADC1) (только у STM32F103, STM32F105, STM32F107).
DUALMOD Значение 0000 Независимый режим 0001 Одновременные регулярные + одновременные инжектированные 0010 Одновременные регулярные + поочерёдный запуск 0011 Одновременные инжектированные + быстрое чередование 0100 Одновременные инжектированные + медленное чередование 0101 Только одновременные инжектированные 0110 Только одновременные регулярные 0111 Только быстрое чередование 1000 Только медленное чередование 1001 Только поочерёдный запуск - 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) — Сканирование: каналы группы преобразуются по очереди.
- JEOSIE (бит 7) — Прерывание по окончании инжектированной группы.
- AWDIE (бит 6) — Прерывание аналогового сторожа.
- EOSIE (бит 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 |
| — | TSVREFE | SWSTART | JSWSTART | EXTTRIG | EXTSEL | — | |||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| JEXTTRIG | JEXTSEL | ALIGN | — | DMA | — | RSTCAL | CAL | CONT | ADON | ||||||
- TSVREFE (бит 23) — Включение датчика температуры и канала VREFINT.
- SWSTART (бит 22) — Программный запуск регулярной группы.
- JSWSTART (бит 21) — Программный запуск инжектированной группы.
- EXTTRIG (бит 20) — Запуск регулярной группы по внешнему событию.
- EXTSEL (биты 19:17) — Событие запуска регулярной группы.
EXTSEL Значение 000 TIM1 CC1 (у ADC3 — TIM3 CC1) 001 TIM1 CC2 (у ADC3 — TIM2 CC3) 010 TIM1 CC3 011 TIM2 CC2 (у ADC3 — TIM8 CC1) 100 TIM3 TRGO (у ADC3 — TIM8 TRGO) 101 TIM4 CC4 (у ADC3 — TIM5 CC1) 110 EXTI11 или TIM8_TRGO (у ADC3 — TIM5 CC3) 111 SWSTART — программный запуск - JEXTTRIG (бит 15) — Запуск инжектированной группы по внешнему событию.
- JEXTSEL (биты 14:12) — Событие запуска инжектированной группы.
JEXTSEL Значение 000 TIM1 TRGO 001 TIM1 CC4 010 TIM2 TRGO (у ADC3 — TIM4 CC3) 011 TIM2 CC1 (у ADC3 — TIM8 CC2) 100 TIM3 CC4 (у ADC3 — TIM8 CC4) 101 TIM4 TRGO (у ADC3 — TIM5 TRGO) 110 EXTI15 или TIM8_CC4 (у ADC3 — TIM5 CC4) 111 JSWSTART — программный запуск - ALIGN (бит 11) — Выравнивание результата в 16-битном регистре.
ALIGN Значение 0 По правому краю 1 По левому краю - DMA (бит 8) — Запрос DMA после каждого регулярного преобразования.
- RSTCAL (бит 3) — Сброс регистров калибровки.
- CAL (бит 2) — Запуск калибровки; бит сбрасывается по её окончании.
- CONT (бит 1) — Непрерывные преобразования.
- ADON (бит 0) — Включение АЦП; запись 1 во включённый АЦП запускает преобразование.
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 |
| — | 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–SMP17 (по 3 бита на каждый y, положение — на карте битов) — Время выборки канала y.
SMPy Значение 000 1,5 такта 001 7,5 такта 010 13,5 такта 011 28,5 такта 100 41,5 такта 101 55,5 такта 110 71,5 такта 111 239,5 такта
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 1,5 такта 001 7,5 такта 010 13,5 такта 011 28,5 такта 100 41,5 такта 101 55,5 такта 110 71,5 такта 111 239,5 такта
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) — В ADC1 при двойном режиме — результат регулярного преобразования ADC2 (только у STM32F103, STM32F105, STM32F107).
- DATA (биты 15:0) — Результат регулярного преобразования.
Частые вопросы
Как прочитать один канал АЦП на STM32F103?
Включите тактирование ADC1 (ADC1EN в RCC_APB2ENR) и делитель ADCPRE так, чтобы частота была не выше 14 МГц. Включите АЦП (ADON = 1), выполните калибровку (CAL = 1, дождитесь сброса бита), запишите номер канала в SQ1 регистра SQR3 и время выборки в SMPR. Каждое преобразование запускает запись ADON = 1; дождитесь флага EOS (EOC) и прочитайте DR.
Почему результат АЦП «гуляет» на высокоомном источнике?
Конденсатор выборки не успевает зарядиться за короткое время выборки. Увеличьте время в регистрах SMPR — до 239,5 такта — или поставьте буферный усилитель. Допустимое сопротивление источника для каждого времени выборки приведено в даташите микроконтроллера.
Почему инжектированные каналы читаются не в том порядке?
Если инжектированных преобразований меньше четырёх, последовательность заканчивается на JSQ4, а не начинается с JSQ1: при трёх преобразованиях АЦП берёт JSQ2, JSQ3 и JSQ4. Так написано в описании ADC_JSQR в RM0008.
Источники
- STMicroelectronics. RM0008: Reference manual (Rev 21) — раздел 11.12: описание регистров, назначение полей и значения после сброса
- STMicroelectronics. cmsis-device-f1 v4.3.5: заголовки CMSIS stm32f101x6.h, stm32f101xb.h, stm32f101xe.h, stm32f101xg.h, stm32f102x6.h, stm32f102xb.h, stm32f103x6.h, stm32f103xb.h, stm32f103xe.h, stm32f103xg.h, stm32f105xc.h, stm32f107xc.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0
Нашли ошибку в регистрах?
Другие регистры STM32F1
- Все регистры STM32F1Блоки периферии и заголовки CMSIS
- RCC — сброс и тактированиеRCC_CR, RCC_CFGR, RCC_CIR, RCC_APB2RSTR, RCC_APB1RSTR, RCC_AHBENR
- GPIO — порты ввода-выводаGPIOx_CRL, GPIOx_CRH, GPIOx_IDR, GPIOx_ODR, GPIOx_BSRR, GPIOx_BRR
- AFIO — переназначение функций и выбор входов EXTIAFIO_EVCR, AFIO_MAPR, AFIO_EXTICR1, AFIO_EXTICR2, AFIO_EXTICR3, AFIO_EXTICR4
- EXTI — контроллер внешних прерываний и событийEXTI_IMR, EXTI_EMR, EXTI_RTSR, EXTI_FTSR, EXTI_SWIER, EXTI_PR
- USART — последовательные порты USART и UARTUSART_SR, USART_DR, USART_BRR, USART_CR1, USART_CR2, USART_CR3
- SPI — интерфейсы SPI и I2SSPI_CR1, SPI_CR2, SPI_SR, SPI_DR, SPI_CRCPR, SPI_RXCRCR
- I2C — интерфейс I2CI2C_CR1, I2C_CR2, I2C_OAR1, I2C_OAR2, I2C_DR, I2C_SR1
- TIM — таймерыTIMx_CR1, TIMx_CR2, TIMx_SMCR, TIMx_DIER, TIMx_SR, TIMx_EGR
- DMA — контроллеры прямого доступа к памятиDMA_ISR, DMA_IFCR, DMA_CCR, DMA_CNDTR, DMA_CPAR, DMA_CMAR
- IWDG — независимый сторожевой таймерIWDG_KR, IWDG_PR, IWDG_RLR, IWDG_SR
- WWDG — оконный сторожевой таймерWWDG_CR, WWDG_CFR, WWDG_SR
- CRC — блок вычисления CRCCRC_DR, CRC_IDR, CRC_CR
- DBGMCU — регистры отладкиDBGMCU_IDCODE, DBGMCU_CR