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

Регистры TIM STM32F3

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

Таймеры STM32F3 — то же поколение, что у STM32G0: поле режима выхода OCxM четырёхбитное (биты 6:4 и бит 16 — OCxM_3), режим ведомого SMS тоже (SMS_3), у расширенных таймеров есть каналы 5 и 6 для внутренних сигналов и второй аварийный вход BRK2. TIM2 — 32-битный, остальные 16-битные (RM0316, главы 20–23).

Расширенные таймеры TIM1, TIM8 и TIM20 и таймеры TIM15–TIM17 могут тактироваться от PLL × 2 — до 144 МГц, бит TIMxSW в RCC_CFGR3. Выходы этих таймеров включает бит MOE регистра BDTR. TIM8 есть у STM32F303xB/xC/xD/xE, TIM20 — у F303xD/xE и F398.

ЭкземплярБазовый адресЕсть у
TIM20x4000 0000всех
TIM30x4000 0400всех
TIM40x4000 0800STM32F303xC/xE, STM32F358, STM32F398
TIM60x4000 1000всех
TIM70x4000 1400всех
TIM10x4001 2C00всех
TIM80x4001 3400STM32F303xC/xE, STM32F358, STM32F398
TIM150x4001 4000всех
TIM160x4001 4400всех
TIM170x4001 4800всех
TIM200x4001 5000STM32F303xE, STM32F398

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

РегистрСмещениеНазначениеПосле сброса
TIMx_CR10x00Счёт, режим одного импульса, буферизация0x0000
TIMx_CR20x04Ведущий режим, DMA, состояния выходовTIM1, TIM8, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, TIM6, TIM7, TIM15, TIM16, TIM17: 0x0000
TIMx_SMCR0x08Ведомый режим, триггер и внешний такт0x0000 0000
TIMx_DIER0x0CРазрешение прерываний и запросов DMA0x0000
TIMx_SR0x10Флаги прерыванийTIM1, TIM8, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, TIM6, TIM7, TIM15, TIM16, TIM17: 0x0000
TIMx_EGR0x14Программные события0x0000
TIMx_CCMR10x18Режимы каналов 1 и 20x0000 0000
TIMx_CCMR20x1CРежимы каналов 3 и 40x0000 0000
TIMx_CCER0x20Включение и полярность каналовTIM1, TIM8, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, TIM15, TIM16, TIM17: 0x0000
TIMx_CNT0x24Счётчик0x0000 0000
TIMx_PSC0x28Предделитель0x0000
TIMx_ARR0x2CПериод (значение перезагрузки)TIM1, TIM8, TIM20, TIM6, TIM7, TIM15, TIM16, TIM17: 0xFFFF; TIM2, TIM3, TIM4: 0xFFFF FFFF (так в руководстве; TIM3 и TIM4 — 16-битные таймеры, биты 31:16 их ARR зарезервированы)
TIMx_RCR0x30Счётчик повторений0x0000
TIMx_CCR10x34Сравнение и захват, канал 1TIM1, TIM8, TIM20, TIM15, TIM16, TIM17: 0x0000; TIM2, TIM3, TIM4: 0x0000 0000
TIMx_CCR20x38Сравнение и захват, канал 2TIM1, TIM8, TIM20, TIM15: 0x0000; TIM2, TIM3, TIM4: 0x0000 0000
TIMx_CCR30x3CСравнение и захват, канал 3TIM1, TIM8, TIM20: 0x0000; TIM2, TIM3, TIM4: 0x0000 0000
TIMx_CCR40x40Сравнение и захват, канал 4TIM1, TIM8, TIM20: 0x0000; TIM2, TIM3, TIM4: 0x0000 0000
TIMx_BDTR0x44Аварийный останов и мёртвое время0x0000 0000
TIMx_DCR0x48Пакетная передача DMA0x0000
TIMx_DMAR0x4CАдрес пакетной передачи DMATIM1, TIM8, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, 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, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, TIM6, TIM7, TIM15, TIM16, TIM17: 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, TIM20, TIM15–TIM17).
  • OIS3N (бит 13) — Уровень выхода OC3N при MOE = 0 (TIM1, TIM8, TIM20, TIM15–TIM17).
  • OIS2N (бит 11) — Уровень выхода OC2N при MOE = 0 (TIM1, TIM8, TIM20, TIM15–TIM17).
  • OIS1N (бит 9) — Уровень выхода OC1N при MOE = 0 (TIM1, TIM8, TIM20, TIM15–TIM17).
  • OIS1 (бит 8) — Уровень выхода OC1 при MOE = 0 (TIM1, TIM8, TIM20, 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, TIM20, 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, TIM20, TIM15–TIM17).
  • TIE (бит 6) — Прерывание по триггеру.
  • COMIE (бит 5) — Прерывание по событию коммутации COM (TIM1, TIM8, TIM20, TIM15–TIM17).
  • CC4IE (бит 4) — Прерывание канала 4.
  • CC3IE (бит 3) — Прерывание канала 3.
  • CC2IE (бит 2) — Прерывание канала 2.
  • CC1IE (бит 1) — Прерывание канала 1.
  • UIE (бит 0) — Прерывание по обновлению.

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

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

31302928272625242322212019181716
—CC6IFCC5IF
1514131211109876543210
—CC4OFCC3OFCC2OFCC1OFB2IFBIFTIFCOMIFCC4IFCC3IFCC2IFCC1IFUIF
  • CC6IF (бит 17) — Сработало сравнение канала 6.
  • CC5IF (бит 16) — Сработало сравнение канала 5.
  • 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, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, 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, TIM20, TIM15–TIM17).
  • CC3P (бит 9) — Полярность выхода 3; в режиме захвата — фронт захвата.
  • CC3E (бит 8) — Включение выхода 3; в режиме захвата — разрешение захвата.
  • CC2NP (бит 7) — Полярность комплементарного выхода 2N.
  • CC2NE (бит 6) — Включение комплементарного выхода 2N (TIM1, TIM8, TIM20, TIM15–TIM17).
  • CC2P (бит 5) — Полярность выхода 2; в режиме захвата — фронт захвата.
  • CC2E (бит 4) — Включение выхода 2; в режиме захвата — разрешение захвата.
  • CC1NP (бит 3) — Полярность комплементарного выхода 1N.
  • CC1NE (бит 2) — Включение комплементарного выхода 1N (TIM1, TIM8, TIM20, 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, у остальных таймеров 16.

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

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

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

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

Смещение 0x2C, 32 бит, после сброса TIM1, TIM8, TIM20, TIM6, TIM7, TIM15, TIM16, TIM17: 0xFFFF; TIM2, TIM3, TIM4: 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, TIM20, TIM15, TIM16, TIM17: 0x0000; TIM2, TIM3, TIM4: 0x0000 0000. В коде: TIM2->CCR1.

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

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

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

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

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

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

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

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

Смещение 0x40, 32 бит, после сброса TIM1, TIM8, TIM20: 0x0000; TIM2, TIM3, TIM4: 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, TIM20: 0x0000 0000; TIM2, TIM3, TIM4, 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.

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

Как получить ШИМ 20 кГц на TIM1 STM32F303 с частотой 144 МГц?

Установите TIM1SW в RCC_CFGR3, чтобы TIM1 тактировался от PLL × 2. PSC = 0, ARR = 7199; в CCMR1 — OC1M = 110 и OC1PE = 1, в CCER — CC1E, в BDTR — MOE. Скважность — CCR1 от 0 до 7200.

Зачем у OC1M четвёртый бит?

Бит OC1M_3 (бит 16 CCMR1) открывает режимы, которых нет у STM32F1 и F4: повторный одиночный импульс, комбинированный и асимметричный ШИМ. Для обычного ШИМ 1 и 2 он остаётся 0.

Источники

  1. STMicroelectronics. RM0316: Reference manual (Rev 10) — раздел 20.4–23.6: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-f3 v2.3.9: заголовки CMSIS stm32f303x8.h, stm32f303xc.h, stm32f303xe.h, stm32f328xx.h, stm32f358xx.h, stm32f398xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

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

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

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