Сб сен 01, 2018 07:51:05
Вс сен 02, 2018 02:14:53
Вт сен 04, 2018 19:02:47
Пн сен 17, 2018 11:05:26
Пн сен 17, 2018 13:21:12
Что об этом пишут в документации. Прочитайте и нам расскажите.vovik15 писал(а):В каком состоянии будет счетчик wdt после перезагрузки?
Чт ноя 08, 2018 17:35:55
пытался так
void main()
{
asm wdr;
WDCE_bit = 1;// снятие блокировки на изменение битов регистра WDTCR
WDP0_bit = 1; //5V ~ 2sek
WDP1_bit = 1;
WDP2_bit = 1;
// читаем = 0 0 0
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
asm nop;
// читаем = 0 0 0
WDP0_bit = 1; //5V ~ 2sek
WDP1_bit = 1;
WDP2_bit = 1;
// читаем = 0 0 0
asm wdr;
WDTCR = 0b00011111;
// читаем = 0 0 0, при этом бит WDE читается = 1
// даже если подождать 5 nop то результат тот же.
while(1)
{
Delay_ms(500);
asm wdr; // до сюда не доходим, попадаем на ресет
}
}
ARV писал(а):Ну почему вы не пользуетесь готовыми либами, которые стандартно имеются в вашем компиляторе?!
Сб ноя 10, 2018 18:01:44
Пт дек 28, 2018 15:13:48
If the reset period expires without another Watchdog Reset, the ATtiny24A/44A/84A resets and executes from the Reset Vector.
WDT_int_125mS;
......
Sleep (SLEEP_MODE_PWR_DOWN)
......
wdt_reset();
......
Sleep (SLEEP_MODE_PWR_DOWN)
wdt_reset();
......
WDT_int_125mS;
......
Sleep (SLEEP_MODE_PWR_DOWN)
......
WDT_int_500mS;
......
Sleep (SLEEP_MODE_PWR_DOWN)
WDT_int_125mS;
......
Вт апр 09, 2019 18:24:14
Вт апр 09, 2019 20:54:53
Вт апр 09, 2019 21:17:21
Ср апр 10, 2019 07:17:33
Ср апр 10, 2019 09:33:39
Ср апр 10, 2019 10:59:17
5 - если он нужен чтоб просто его ресетить то почему такие маленькие таймеры много не успеешь за 16 или 32 мс ?
6 - что значит обычное прерывание? у собаки же нет тригера low/change/rising ? - какие кроме таймеров ресета есть тригеры у собаки для WDT_interrupts ?
Чт апр 11, 2019 13:35:31
Чт апр 11, 2019 19:15:40
YS - 1 такт это 4мкс ? то 128 тыщ и не так много на один только блинк уходит 5000 мкс
Пт апр 12, 2019 05:01:58
Пт апр 12, 2019 09:15:53
Пт апр 12, 2019 10:22:41
Ср май 29, 2019 16:39:07
void soft_reset(){
wdt_enable(0);
while (1);
}