реклама на сайте
подробности

 
 
> Watchdog ресет в слипе на LPC1112, почему срабатывает?
zuy
сообщение Nov 17 2011, 19:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 173
Регистрация: 30-11-05
Из: San Francisco
Пользователь №: 11 593



Настроил WD
Код
LPC_SYSCON->SYSAHBCLKCTRL |= ( 1 << 15 );
LPC_SYSCON->WDTCLKSEL = 1;                // Main OSC as CLK source
LPC_SYSCON->WDTCLKDIV = 48;               // CLK devider
LPC_SYSCON->WDTCLKUEN = 1;                // Enable WD CLK
  
LPC_WDT->TC   = WDT_PERIOD_SECONDS * 250000;
LPC_WDT->MOD  = ( 1 << 0 ) | ( 1 << 1 );  // WDT Enable, WDT reset


Работает, когда надо ресетит проц через нужное время.
Проблема в том, что когда проц уходит в sleep то WD продолжает его ресетить но период возрастает в 4 раза.
При этом отключение клока в SYSAHBCLKCTRL, или изменение параметров в WDTCLKSEL/WDTCLKDIV/WDTOSCCTRL никак не влияет на период, через который происходит ресет в слипе. Как будто в слипе он считает совсем от другого источника.

Как сделать так, чтобы WD не срабатывал в слипе и почему он вообще продолжает работать?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01368 секунд с 7
ELECTRONIX ©2004-2016