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

Регистры WWDG STM32L1

Регистры WWDG STM32L1: включение и семибитный счётчик, окно, делитель частоты и прерывание раннего предупреждения.

WWDG тактируется от PCLK1 через делитель 4096 × 2^WDGTB. Сброс происходит, когда счётчик T опускается с 0x40 до 0x3F, и при записи в счётчик, пока он больше окна W. Прерывание EWI приходит при T = 0x40 (RM0038, раздел 22.6).

ЭкземплярБазовый адресЕсть у
WWDG0x4000 2C00всех

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

РегистрСмещениеНазначениеПосле сброса
WWDG_CR0x00Включение и счётчик0x0000 007F
WWDG_CFR0x04Окно, делитель и раннее предупреждение0x0000 007F
WWDG_SR0x08Флаг раннего предупреждения0x0000 0000

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

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

Значение: 0x0000007F

0000 0000 0000 0000 0000 0000 0111 1111

WWDG->CR = 0x0000007F;

WWDG_CR — включение и счётчик

Смещение 0x00, адрес 0x4000 2C00, 32 бит, после сброса 0x0000 007F. В коде: WWDG->CR.

31302928272625242322212019181716
—
1514131211109876543210
—WDGAT
  • WDGA (бит 7) — Включение сторожа; выключается только сбросом.
  • T (биты 6:0) — Счётчик: сброс, когда бит T6 становится нулём.

WWDG_CFR — окно, делитель и раннее предупреждение

Смещение 0x04, адрес 0x4000 2C04, 32 бит, после сброса 0x0000 007F. В коде: WWDG->CFR.

31302928272625242322212019181716
—
1514131211109876543210
—EWIWDGTBW
  • EWI (бит 9) — Прерывание раннего предупреждения при счётчике 0x40.
  • WDGTB (биты 8:7) — Делитель частоты счёта: PCLK1 / 4096 / 2^WDGTB.
    WDGTBЗначение
    00PCLK1 / 4096
    01PCLK1 / 4096 / 2
    10PCLK1 / 4096 / 4
    11PCLK1 / 4096 / 8
  • W (биты 6:0) — Окно: запись в счётчик, пока он больше W, вызывает сброс.

WWDG_SR — флаг раннего предупреждения

Смещение 0x08, адрес 0x4000 2C08, 32 бит, после сброса 0x0000 0000. В коде: WWDG->SR.

31302928272625242322212019181716
—
1514131211109876543210
—EWIF
  • EWIF (бит 0) — Флаг раннего предупреждения; сбрасывается записью 0.

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

Можно ли выключить WWDG после запуска?

Нет: бит WDGA сбрасывается только сбросом микроконтроллера. Если сторож не нужен в отладке, остановите его битом DBG_WWDG_STOP регистра DBGMCU_APB1_FZ.

Источники

  1. STMicroelectronics. RM0038: Reference manual (Rev 18) — раздел 22.6: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-l1 v2.3.4: заголовки CMSIS stm32l100xb.h, stm32l100xba.h, stm32l100xc.h, stm32l151xb.h, stm32l151xba.h, stm32l151xc.h, stm32l151xca.h, stm32l151xd.h, stm32l151xdx.h, stm32l151xe.h, stm32l152xb.h, stm32l152xba.h, stm32l152xc.h, stm32l152xca.h, stm32l152xd.h, stm32l152xdx.h, stm32l152xe.h, stm32l162xc.h, stm32l162xca.h, stm32l162xd.h, stm32l162xdx.h, stm32l162xe.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

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

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

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