Перейти к содержанию

Регистры TIM STM32L4

Регистры таймеров STM32L4: расширенных TIM1 и TIM8, 32-битных TIM2 и TIM5, TIM3, TIM4, TIM15–TIM17 и базовых TIM6, TIM7 — счёт, предделитель, период, режимы каналов, ШИМ и захват, синхронизация таймеров, мёртвое время и аварийный останов.

Таймеры STM32L4 того же поколения, что у STM32F3: OCxM и SMS расширены четвёртым битом (OCxM_3, SMS_3), у TIM1 и TIM8 есть каналы 5 и 6 для внутренних сигналов и второй аварийный вход BRK2. TIM2 и TIM5 — 32-битные, остальные 16-битные; тактирование — до 80 МГц (RM0351, главы 30–33).

Выходы TIM1, TIM8 и TIM15–TIM17 включает бит MOE регистра BDTR. Регистры TIMx_OR1–OR3 задают переназначение входов и аварийных сигналов каждого таймера своими макросами и на странице не показаны.

ЭкземплярБазовый адресЕсть у
TIM20x4000 0000всех
TIM30x4000 0400всех
TIM40x4000 0800всех
TIM50x4000 0C00всех
TIM60x4000 1000всех
TIM70x4000 1400всех
TIM10x4001 2C00всех
TIM80x4001 3400всех
TIM150x4001 4000всех
TIM160x4001 4400всех
TIM170x4001 4800всех

Регистры блока

РегистрСмещениеНазначениеПосле сброса
TIMx_CR10x00Счёт, режим одного импульса, буферизация0x0000
TIMx_CR20x04Ведущий режим, DMA, состояния выходовTIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17, TIM6, TIM7: 0x0000
TIMx_SMCR0x08Ведомый режим, триггер и внешний такт0x0000 0000
TIMx_DIER0x0CРазрешение прерываний и запросов DMA0x0000
TIMx_SR0x10Флаги прерыванийTIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17, TIM6, TIM7: 0x0000
TIMx_EGR0x14Программные события0x0000
TIMx_CCMR10x18Режимы каналов 1 и 20x0000 0000
TIMx_CCMR20x1CРежимы каналов 3 и 40x0000 0000
TIMx_CCER0x20Включение и полярность каналовTIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17: 0x0000
TIMx_CNT0x24Счётчик0x0000 0000
TIMx_PSC0x28Предделитель0x0000
TIMx_ARR0x2CПериод (значение перезагрузки)TIM1, TIM8, TIM15, TIM16, TIM17, TIM6, TIM7: 0xFFFF; TIM2, TIM3, TIM4, TIM5: 0xFFFF FFFF (так в руководстве; TIM3 и TIM4 — 16-битные таймеры, биты 31:16 их ARR зарезервированы)
TIMx_RCR0x30Счётчик повторений0x0000
TIMx_CCR10x34Сравнение и захват, канал 1TIM1, TIM8, TIM15, TIM16, TIM17: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000
TIMx_CCR20x38Сравнение и захват, канал 2TIM1, TIM8, TIM15: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000
TIMx_CCR30x3CСравнение и захват, канал 3TIM1, TIM8: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000
TIMx_CCR40x40Сравнение и захват, канал 4TIM1, TIM8: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000
TIMx_BDTR0x44Аварийный останов и мёртвое время0x0000 0000
TIMx_DCR0x48Пакетная передача DMA0x0000
TIMx_DMAR0x4CАдрес пакетной передачи DMATIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17: 0x0000
TIMx_CCMR30x54Режимы каналов 5 и 60x0000 0000
TIMx_CCR50x58Сравнение, канал 50x0000 0000
TIMx_CCR60x5CСравнение, канал 60x0000

Конструктор значения

Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.

Значение: 0x00000000

0000 0000 0000 0000 0000 0000 0000 0000

TIM2->CR1 = 0x00000000;

TIMx_CR1 — счёт, режим одного импульса, буферизация

Смещение 0x00, 32 бит, после сброса 0x0000. В коде: TIM2->CR1.

31302928272625242322212019181716
—
1514131211109876543210
—UIFREMAP—CKDARPECMSDIROPMURSUDISCEN
  • UIFREMAP (бит 11) — Копия флага UIF в старшем бите CNT.
  • CKD (биты 9:8) — Период дискретизации цифровых фильтров tDTS относительно такта таймера.
  • ARPE (бит 7) — Буферизация ARR: новое значение действует с события обновления.
  • CMS (биты 6:5) — Счёт по фронту или центрированный (вверх и вниз).
  • DIR (бит 4) — Направление счёта.
  • OPM (бит 3) — Режим одного импульса: счётчик останавливается на событии обновления.
  • URS (бит 2) — Что вызывает прерывание и запрос DMA обновления.
  • UDIS (бит 1) — Запрет события обновления.
  • CEN (бит 0) — Включение счётчика.

TIMx_CR2 — ведущий режим, DMA, состояния выходов

Смещение 0x04, 32 бит, после сброса TIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17, TIM6, TIM7: 0x0000. В коде: TIM2->CR2.

31302928272625242322212019181716
—MMS2—OIS6—OIS5
1514131211109876543210
—OIS4OIS3NOIS3OIS2NOIS2OIS1NOIS1TI1SMMSCCDSCCUS—CCPC
  • MMS2 (биты 23:20) — Сигнал TRGO2 для АЦП: событие, сравнение каналов 1–6.
  • OIS6 (бит 18) — Уровень OC6 в состоянии простоя (MOE = 0).
  • OIS5 (бит 16) — Уровень OC5 в состоянии простоя (MOE = 0).
  • OIS2–OIS4 (по биту на каждый y, положение — на карте битов) — Уровень выхода OCy при MOE = 0 (TIM1, TIM8, TIM15–TIM17).
  • OIS3N (бит 13) — Уровень выхода OC3N при MOE = 0 (TIM1, TIM8, TIM15–TIM17).
  • OIS2N (бит 11) — Уровень выхода OC2N при MOE = 0 (TIM1, TIM8, TIM15–TIM17).
  • OIS1N (бит 9) — Уровень выхода OC1N при MOE = 0 (TIM1, TIM8, TIM15–TIM17).
  • OIS1 (бит 8) — Уровень выхода OC1 при MOE = 0 (TIM1, TIM8, TIM15–TIM17).
  • TI1S (бит 7) — Вход TI1: вывод CH1 или исключающее ИЛИ выводов CH1–CH3 (датчики Холла).
  • MMS (биты 6:4) — Сигнал TRGO для ведомых таймеров, АЦП и ЦАП.
  • CCDS (бит 3) — Запросы DMA каналов: по событию канала или по обновлению.
  • CCUS (бит 2) — Обновление буферизованных битов каналов: только COMG или ещё фронт TRGI.
  • CCPC (бит 0) — Буферизация CCxE, CCxNE и OCxM до события коммутации COM (TIM1, TIM8, TIM15–TIM17).

TIMx_SMCR — ведомый режим, триггер и внешний такт

Смещение 0x08, 32 бит, после сброса 0x0000 0000. В коде: TIM2->SMCR.

31302928272625242322212019181716
—SMS_3
1514131211109876543210
ETPECEETPSETFMSMTSOCCSSMS
  • SMS_3 (бит 16) — Старший бит режима ведомого: комбинированный режим сброса и запуска.
  • ETP (бит 15) — Полярность внешнего входа ETR.
  • ECE (бит 14) — Внешнее тактирование, режим 2: счёт по фронтам ETR.
  • ETPS (биты 13:12) — Предделитель входа ETR: частота ETRP не выше 1/4 такта таймера.
  • ETF (биты 11:8) — Цифровой фильтр входа ETR.
  • MSM (бит 7) — Задержка события TRGI для синхронного запуска ведомых таймеров.
  • TS (биты 6:4) — Источник триггера: ITR0–ITR3, TI1F_ED, TI1FP1, TI2FP2, ETRF.
  • OCCS (бит 3) — Источник сигнала OCREF_CLR: вход ETRF или внутренний сигнал (компаратор).
  • SMS (биты 2:0) — Режим ведомого, биты 2:0 (бит 3 — SMS_3).

TIMx_DIER — разрешение прерываний и запросов DMA

Смещение 0x0C, 32 бит, после сброса 0x0000. В коде: TIM2->DIER.

31302928272625242322212019181716
—
1514131211109876543210
—TDECOMDECC4DECC3DECC2DECC1DEUDEBIETIECOMIECC4IECC3IECC2IECC1IEUIE
  • TDE (бит 14) — Запрос DMA по триггеру.
  • COMDE (бит 13) — Запрос DMA по событию COM.
  • CC4DE (бит 12) — Запрос DMA канала 4.
  • CC3DE (бит 11) — Запрос DMA канала 3.
  • CC2DE (бит 10) — Запрос DMA канала 2.
  • CC1DE (бит 9) — Запрос DMA канала 1.
  • UDE (бит 8) — Запрос DMA по обновлению.
  • BIE (бит 7) — Прерывание по аварийному входу BRK (TIM1, TIM8, TIM15–TIM17).
  • TIE (бит 6) — Прерывание по триггеру.
  • COMIE (бит 5) — Прерывание по событию коммутации COM (TIM1, TIM8, TIM15–TIM17).
  • CC4IE (бит 4) — Прерывание канала 4.
  • CC3IE (бит 3) — Прерывание канала 3.
  • CC2IE (бит 2) — Прерывание канала 2.
  • CC1IE (бит 1) — Прерывание канала 1.
  • UIE (бит 0) — Прерывание по обновлению.

TIMx_SR — флаги прерываний

Смещение 0x10, 32 бит, после сброса TIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17, TIM6, TIM7: 0x0000. В коде: TIM2->SR.

31302928272625242322212019181716
—CC6IFCC5IF
1514131211109876543210
—SBIFCC4OFCC3OFCC2OFCC1OFB2IFBIFTIFCOMIFCC4IFCC3IFCC2IFCC1IFUIF
  • CC6IF (бит 17) — Сработало сравнение канала 6.
  • CC5IF (бит 16) — Сработало сравнение канала 5.
  • SBIF (бит 13) — Системный аварийный останов (ошибки, LOCKUP, PVD).
  • CC4OF (бит 12) — Повторный захват канала 4, пока флаг CC4IF не сброшен.
  • CC3OF (бит 11) — Повторный захват канала 3, пока флаг CC3IF не сброшен.
  • CC2OF (бит 10) — Повторный захват канала 2, пока флаг CC2IF не сброшен.
  • CC1OF (бит 9) — Повторный захват канала 1, пока флаг CC1IF не сброшен.
  • B2IF (бит 8) — Сработал аварийный вход 2.
  • BIF (бит 7) — Флаг аварийного входа BRK.
  • TIF (бит 6) — Флаг триггера.
  • COMIF (бит 5) — Флаг события коммутации COM.
  • CC4IF (бит 4) — Флаг канала 4: совпадение при сравнении или захват; сбрасывается записью 0, при захвате — и чтением CCR4.
  • CC3IF (бит 3) — Флаг канала 3: совпадение при сравнении или захват; сбрасывается записью 0, при захвате — и чтением CCR3.
  • CC2IF (бит 2) — Флаг канала 2: совпадение при сравнении или захват; сбрасывается записью 0, при захвате — и чтением CCR2.
  • CC1IF (бит 1) — Флаг канала 1: совпадение при сравнении или захват; сбрасывается записью 0, при захвате — и чтением CCR1.
  • UIF (бит 0) — Флаг обновления; сбрасывается записью 0.

TIMx_EGR — программные события

Смещение 0x14, 32 бит, после сброса 0x0000. В коде: TIM2->EGR.

31302928272625242322212019181716
—
1514131211109876543210
—B2GBGTGCOMGCC4GCC3GCC2GCC1GUG
  • B2G (бит 8) — Программный аварийный останов по входу 2.
  • BG (бит 7) — Программное аварийное отключение (как по входу BRK).
  • TG (бит 6) — Программный триггер.
  • COMG (бит 5) — Программное событие коммутации COM.
  • CC4G (бит 4) — Программное событие канала 4.
  • CC3G (бит 3) — Программное событие канала 3.
  • CC2G (бит 2) — Программное событие канала 2.
  • CC1G (бит 1) — Программное событие канала 1.
  • UG (бит 0) — Программное обновление: перезапуск счётчика и загрузка буферов.

TIMx_CCMR1 — режимы каналов 1 и 2

Смещение 0x18, 32 бит, после сброса 0x0000 0000. В коде: TIM2->CCMR1.

31302928272625242322212019181716
—OC2M_3—OC1M_3
1514131211109876543210
OC2CEOC2MOC2PEOC2FECC2SOC1CEOC1MOC1PEOC1FECC1S
  • OC2M_3 (бит 24) — Старший бит режима сравнения канала 2: асимметричные и комбинированные режимы ШИМ.
  • OC1M_3 (бит 16) — Старший бит режима сравнения канала 1: асимметричные и комбинированные режимы ШИМ.
  • OC2CE (бит 15) — Сброс OC2REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • IC2F (биты 15:12) — Цифровой фильтр входа 2 (режим захвата).
  • OC2M (биты 14:12) — Режим сравнения канала 2, биты 2:0 (бит 3 — OC2M_3).
  • OC2PE (бит 11) — Буферизация CCR2: новое значение с события обновления.
  • IC2PSC (биты 11:10) — Предделитель захвата 2: каждое 1, 2, 4 или 8-е событие (режим захвата).
  • OC2FE (бит 10) — Ускоренная реакция выхода 2 на триггер (режимы ШИМ).
  • CC2S (биты 9:8) — Канал 2: выход или вход и источник захвата; меняется при CC2E = 0.
  • OC1CE (бит 7) — Сброс OC1REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • IC1F (биты 7:4) — Цифровой фильтр входа 1 (режим захвата).
  • OC1M (биты 6:4) — Режим сравнения канала 1, биты 2:0 (бит 3 — OC1M_3).
  • OC1PE (бит 3) — Буферизация CCR1: новое значение с события обновления.
  • IC1PSC (биты 3:2) — Предделитель захвата 1: каждое 1, 2, 4 или 8-е событие (режим захвата).
  • OC1FE (бит 2) — Ускоренная реакция выхода 1 на триггер (режимы ШИМ).
  • CC1S (биты 1:0) — Канал 1: выход или вход и источник захвата; меняется при CC1E = 0.

TIMx_CCMR2 — режимы каналов 3 и 4

Смещение 0x1C, 32 бит, после сброса 0x0000 0000. В коде: TIM2->CCMR2.

31302928272625242322212019181716
—OC4M_3—OC3M_3
1514131211109876543210
OC4CEOC4MOC4PEOC4FECC4SOC3CEOC3MOC3PEOC3FECC3S
  • OC4M_3 (бит 24) — Старший бит режима сравнения канала 4: асимметричные и комбинированные режимы ШИМ.
  • OC3M_3 (бит 16) — Старший бит режима сравнения канала 3: асимметричные и комбинированные режимы ШИМ.
  • OC4CE (бит 15) — Сброс OC4REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • IC4F (биты 15:12) — Цифровой фильтр входа 4 (режим захвата).
  • OC4M (биты 14:12) — Режим сравнения канала 4, биты 2:0 (бит 3 — OC4M_3).
  • OC4PE (бит 11) — Буферизация CCR4: новое значение с события обновления.
  • IC4PSC (биты 11:10) — Предделитель захвата 4: каждое 1, 2, 4 или 8-е событие (режим захвата).
  • OC4FE (бит 10) — Ускоренная реакция выхода 4 на триггер (режимы ШИМ).
  • CC4S (биты 9:8) — Канал 4: выход или вход и источник захвата; меняется при CC4E = 0.
  • OC3CE (бит 7) — Сброс OC3REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • IC3F (биты 7:4) — Цифровой фильтр входа 3 (режим захвата).
  • OC3M (биты 6:4) — Режим сравнения канала 3, биты 2:0 (бит 3 — OC3M_3).
  • OC3PE (бит 3) — Буферизация CCR3: новое значение с события обновления.
  • IC3PSC (биты 3:2) — Предделитель захвата 3: каждое 1, 2, 4 или 8-е событие (режим захвата).
  • OC3FE (бит 2) — Ускоренная реакция выхода 3 на триггер (режимы ШИМ).
  • CC3S (биты 1:0) — Канал 3: выход или вход и источник захвата; меняется при CC3E = 0.

TIMx_CCER — включение и полярность каналов

Смещение 0x20, 32 бит, после сброса TIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17: 0x0000. В коде: TIM2->CCER.

31302928272625242322212019181716
—CC6PCC6E—CC5PCC5E
1514131211109876543210
CC4NP—CC4PCC4ECC3NPCC3NECC3PCC3ECC2NPCC2NECC2PCC2ECC1NPCC1NECC1PCC1E
  • CC6P (бит 21) — Полярность OC6.
  • CC6E (бит 20) — Включение выхода OC6 (внутренний сигнал).
  • CC5P (бит 17) — Полярность OC5.
  • CC5E (бит 16) — Включение выхода OC5 (внутренний сигнал).
  • CC4NP (бит 15) — Полярность комплементарного выхода 4N.
  • CC4P (бит 13) — Полярность выхода 4; в режиме захвата — фронт захвата.
  • CC4E (бит 12) — Включение выхода 4; в режиме захвата — разрешение захвата.
  • CC3NP (бит 11) — Полярность комплементарного выхода 3N.
  • CC3NE (бит 10) — Включение комплементарного выхода 3N (TIM1, TIM8, TIM15–TIM17).
  • CC3P (бит 9) — Полярность выхода 3; в режиме захвата — фронт захвата.
  • CC3E (бит 8) — Включение выхода 3; в режиме захвата — разрешение захвата.
  • CC2NP (бит 7) — Полярность комплементарного выхода 2N.
  • CC2NE (бит 6) — Включение комплементарного выхода 2N (TIM1, TIM8, TIM15–TIM17).
  • CC2P (бит 5) — Полярность выхода 2; в режиме захвата — фронт захвата.
  • CC2E (бит 4) — Включение выхода 2; в режиме захвата — разрешение захвата.
  • CC1NP (бит 3) — Полярность комплементарного выхода 1N.
  • CC1NE (бит 2) — Включение комплементарного выхода 1N (TIM1, TIM8, TIM15–TIM17).
  • CC1P (бит 1) — Полярность выхода 1; в режиме захвата — фронт захвата.
  • CC1E (бит 0) — Включение выхода 1; в режиме захвата — разрешение захвата.

TIMx_CNT — счётчик

Смещение 0x24, 32 бит, после сброса 0x0000 0000. В коде: TIM2->CNT.

31302928272625242322212019181716
UIFCPY—
1514131211109876543210
—
  • UIFCPY (бит 31) — Копия флага UIF (при UIFREMAP = 1).
  • CNT (биты 31:0) — Значение счётчика: 32 бита у TIM2 и TIM5, у остальных таймеров 16.

TIMx_PSC — предделитель

Смещение 0x28, 32 бит, после сброса 0x0000. В коде: TIM2->PSC.

31302928272625242322212019181716
—
1514131211109876543210
PSC
  • PSC (биты 15:0) — Предделитель: частота счёта = такт таймера / (PSC + 1).

TIMx_ARR — период (значение перезагрузки)

Смещение 0x2C, 32 бит, после сброса TIM1, TIM8, TIM15, TIM16, TIM17, TIM6, TIM7: 0xFFFF; TIM2, TIM3, TIM4, TIM5: 0xFFFF FFFF (так в руководстве; TIM3 и TIM4 — 16-битные таймеры, биты 31:16 их ARR зарезервированы). В коде: TIM2->ARR.

31302928272625242322212019181716
ARR
1514131211109876543210
ARR
  • ARR (биты 31:0) — Период: счётчик считает от 0 до ARR, всего ARR + 1 отсчётов.

TIMx_RCR — счётчик повторений

Смещение 0x30, 32 бит, после сброса 0x0000. В коде: TIM2->RCR.

31302928272625242322212019181716
—
1514131211109876543210
REP
  • REP (биты 15:0) — Счётчик повторений: событие обновления раз в REP + 1 периодов.

TIMx_CCR1 — сравнение и захват, канал 1

Смещение 0x34, 32 бит, после сброса TIM1, TIM8, TIM15, TIM16, TIM17: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000. В коде: TIM2->CCR1.

31302928272625242322212019181716
—
1514131211109876543210
CCR1
  • CCR1 (биты 15:0) — Значение сравнения канала 1 или захваченное значение счётчика.

TIMx_CCR2 — сравнение и захват, канал 2

Смещение 0x38, 32 бит, после сброса TIM1, TIM8, TIM15: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000. В коде: TIM2->CCR2.

31302928272625242322212019181716
—
1514131211109876543210
CCR2
  • CCR2 (биты 15:0) — Значение сравнения канала 2 или захваченное значение счётчика.

TIMx_CCR3 — сравнение и захват, канал 3

Смещение 0x3C, 32 бит, после сброса TIM1, TIM8: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000. В коде: TIM2->CCR3.

31302928272625242322212019181716
—
1514131211109876543210
CCR3
  • CCR3 (биты 15:0) — Значение сравнения канала 3 или захваченное значение счётчика.

TIMx_CCR4 — сравнение и захват, канал 4

Смещение 0x40, 32 бит, после сброса TIM1, TIM8: 0x0000; TIM2, TIM3, TIM4, TIM5: 0x0000 0000. В коде: TIM2->CCR4.

31302928272625242322212019181716
—
1514131211109876543210
CCR4
  • CCR4 (биты 15:0) — Значение сравнения канала 4 или захваченное значение счётчика.

TIMx_BDTR — аварийный останов и мёртвое время

Смещение 0x44, 32 бит, после сброса 0x0000 0000. В коде: TIM2->BDTR.

31302928272625242322212019181716
—BK2PBK2EBK2FBKF
1514131211109876543210
MOEAOEBKPBKEOSSROSSILOCKDTG
  • BK2P (бит 25) — Полярность аварийного входа 2.
  • BK2E (бит 24) — Включение аварийного входа 2.
  • BK2F (биты 23:20) — Фильтр аварийного входа 2.
  • BKF (биты 19:16) — Фильтр аварийного входа.
  • MOE (бит 15) — Главное включение выходов; сбрасывается аппаратно по входу BRK.
  • AOE (бит 14) — Автоматическая установка MOE на событии обновления.
  • BKP (бит 13) — Полярность аварийного входа BRK.
  • BKE (бит 12) — Включение аварийного входа BRK и сигнала отказа CSS.
  • OSSR (бит 11) — Состояние выключенного выхода при MOE = 1.
  • OSSI (бит 10) — Состояние выключенного выхода при MOE = 0.
  • LOCK (биты 9:8) — Защита настроек от записи; записывается один раз после сброса.
  • DTG (биты 7:0) — Мёртвое время между комплементарными выходами.

TIMx_DCR — пакетная передача DMA

Смещение 0x48, 32 бит, после сброса 0x0000. В коде: TIM2->DCR.

31302928272625242322212019181716
—
1514131211109876543210
—DBL—DBA
  • DBL (биты 12:8) — Число передач в пакете DMA: DBL + 1.
  • DBA (биты 4:0) — Первый регистр пакета DMA: смещение от CR1 в словах.

TIMx_DMAR — адрес пакетной передачи DMA

Смещение 0x4C, 32 бит, после сброса TIM1, TIM8: 0x0000 0000; TIM2, TIM3, TIM4, TIM5, TIM15, TIM16, TIM17: 0x0000. В коде: TIM2->DMAR.

31302928272625242322212019181716
—
1514131211109876543210
DMAB
  • DMAB (биты 15:0) — Окно пакетного обмена DMA с регистрами таймера.

TIMx_CCMR3 — режимы каналов 5 и 6

Смещение 0x54, 32 бит, после сброса 0x0000 0000. В коде: TIM2->CCMR3.

31302928272625242322212019181716
—OC6M_3—OC5M_3
1514131211109876543210
OC6CEOC6MOC6PEOC6FE—OC5CEOC5MOC5PEOC5FE—
  • OC6M_3 (бит 24) — Старший бит режима сравнения канала 6: асимметричные и комбинированные режимы ШИМ.
  • OC5M_3 (бит 16) — Старший бит режима сравнения канала 5: асимметричные и комбинированные режимы ШИМ.
  • OC6CE (бит 15) — Сброс OC6REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • OC6M (биты 14:12) — Режим сравнения канала 6, биты 2:0.
  • OC6PE (бит 11) — Буферизация CCR6.
  • OC6FE (бит 10) — Быстрое включение OC6.
  • OC5CE (бит 7) — Сброс OC5REF сигналом ocref_clr_int: вход OCREF_CLR или ETRF (выбор — бит OCCS).
  • OC5M (биты 6:4) — Режим сравнения канала 5, биты 2:0.
  • OC5PE (бит 3) — Буферизация CCR5.
  • OC5FE (бит 2) — Быстрое включение OC5.

TIMx_CCR5 — сравнение, канал 5

Смещение 0x58, 32 бит, после сброса 0x0000 0000. В коде: TIM2->CCR5.

31302928272625242322212019181716
GC5C3GC5C2GC5C1—
1514131211109876543210
CCR5
  • GC5C3 (бит 31) — Объединение OC5REF с OC3REF (логическое И).
  • GC5C2 (бит 30) — Объединение OC5REF с OC2REF (логическое И).
  • GC5C1 (бит 29) — Объединение OC5REF с OC1REF (логическое И).
  • CCR5 (биты 15:0) — Значение сравнения канала 5.

TIMx_CCR6 — сравнение, канал 6

Смещение 0x5C, 32 бит, после сброса 0x0000. В коде: TIM2->CCR6.

31302928272625242322212019181716
—
1514131211109876543210
CCR6
  • CCR6 (биты 15:0) — Значение сравнения канала 6.

Частые вопросы

Как получить ШИМ 1 кГц на TIM2 STM32L476 при 80 МГц?

PSC = 79 (счёт 1 МГц), ARR = 999, OC1M = 110 и OC1PE = 1 в CCMR1, CC1E = 1 в CCER, CCR1 — скважность; затем UG в EGR и CEN в CR1.

Работают ли таймеры TIM в Stop 2?

Нет: в Stop все таймеры, кроме LPTIM, останавливаются. Для отсчёта времени в Stop используйте LPTIM1, LPTIM2 или таймер пробуждения RTC.

Источники

  1. STMicroelectronics. RM0351: Reference manual (Rev 11) — раздел 30.4–33.4: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-l4 v1.7.5: заголовки CMSIS stm32l471xx.h, stm32l475xx.h, stm32l476xx.h, stm32l485xx.h, stm32l486xx.h, stm32l496xx.h, stm32l4a6xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

Нашли ошибку в регистрах?

Другие регистры STM32L4

Калькуляторы и статьи