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

Регистры WWDG STM32G0

Регистры WWDG STM32G0: счётчик, включение, верхняя граница окна, делитель частоты и прерывание раннего предупреждения.

WWDG STM32G0 считает от PCLK / 4096 / 2^WDGTB, где WDGTB — трёхбитное поле: делитель до 128, в отличие от 8 у STM32F0. Сброс наступает при переходе счётчика от 0x40 к 0x3F или при обслуживании, пока счётчик больше окна W (RM0444, раздел 29.3).

Прерывание EWI при счётчике 0x40 даёт последний шанс обслужить сторож. Аппаратный режим (сторож включён с момента сброса) задаёт бит WWDG_SW в FLASH_OPTR.

ЭкземплярБазовый адресЕсть у
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
—WDGTB—EWI—W
  • WDGTB (биты 13:11) — Делитель частоты счёта: PCLK / 4096 / 2^WDGTB.
  • EWI (бит 9) — Прерывание раннего предупреждения при счётчике 0x40.
  • W (биты 6:0) — Окно: запись в счётчик, пока он больше W, вызывает сброс.

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

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

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

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

Какой наибольший тайм-аут WWDG при PCLK 64 МГц?

Такт = 64 МГц / 4096 / 128 ≈ 122 Гц; 64 такта от 0x7F до 0x3F — около 524 мс.

Источники

  1. STMicroelectronics. RM0444: Reference manual (Rev 6) — раздел 29.5: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-g0 v1.4.5: заголовки CMSIS stm32g031xx.h, stm32g041xx.h, stm32g051xx.h, stm32g061xx.h, stm32g071xx.h, stm32g081xx.h, stm32g0b1xx.h, stm32g0c1xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

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

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

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