Добавлено after 1 hour 1 minute 13 seconds:
Ау где вы?
Всё верно, собака должна кусаться, если её вовремя не покормить. В документации об этом написано.ivan dimir писал(а):работает но как то не так.Со сбоем.
Control register (WWDG_CR)
Bits 31:8 Reserved, must be kept at reset value.
Bit 7 WDGA: Activation bit
This bit is set by software and only cleared by hardware after a reset. When WDGA = 1, the watchdog can generate a reset.
0: Watchdog disabled
1: Watchdog enabled
Bits 6:0 T[6:0]: 7-bit counter (MSB to LSB)
These bits contain the value of the watchdog counter. It is decremented every (4096 x 2 WDGTB[1:0] ) PCLK1 cycles. A reset is produced when it rolls over from 0x40 to 0x3F (T6 becomes cleared).
<...>
Configuration register (WWDG_CFR)
Bit 9 EWI: Early wakeup interrupt
When set, an interrupt occurs whenever the counter reaches the value 0x40. This interrupt is only cleared by hardware after a reset.
Bits 8:7 WDGTB[1:0]: Timer base
The time base of the prescaler can be modified as follows:
00: CK Counter Clock (PCLK1 div 4096) div 1
01: CK Counter Clock (PCLK1 div 4096) div 2
10: CK Counter Clock (PCLK1 div 4096) div 4
11: CK Counter Clock (PCLK1 div 4096) div 8
Bits 6:0 W[6:0]: 7-bit window value
These bits contain the window value to be compared to the downcounter.
[uquote="ivan dimir",url="/forum/viewtopic.php?p=4191643#p4191643"]А эти два таймера можно эти два таймера вместе использовать? Или они друг друга мешать будут?[/uquote]AlanDrakes писал(а):[uquote="ivan dimir",url="/forum/viewtopic.php?p=4191453#p4191453"]А эти два таймера можно включать одновременно.[/uquote]
Одновременно можно включать ВООБЩЕ ВСЕ периферийные блоки. В некоторых случаях даже те, которые используют одну область памяти для внутренних нужд, как в некоторых линейках кристаллов блоки CAN и USB. И даже можно как-то их заставить работать совместно.
Так что и сторожевые таймеры можно запускать параллельно.
Ты думал в сказку попал?ivan dimir писал(а):При включении контроллера он иногда подвисает.
Код: Выделить всё
while (1) {
Задача1();
Задача2();
Сброс_Сторожевого_Таймера();
__WFI(); // Здоровый крепкий сон
};
Код: Выделить всё
__WFI(); // Здоровый крепкий сон