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

 
 
> dsPIC30f5011 и WDT, WDT не сбрасывает МК
Nebel
сообщение Nov 12 2009, 15:12
Сообщение #1





Группа: Участник
Сообщений: 14
Регистрация: 16-06-08
Из: Москва
Пользователь №: 38 319



Собственно проблема в том, что при симуляции (и на железке) WDT не reset-ит МК.
в Output выводится сообщение
Цитата
CORE-W0003: Watchdog Timer event occurred. Break in execution requested

WDTO (RCON<4>) устанавливается в "1" но МК продолжает висеть в бесконечном цикле.
SLEEP (RCON<3>) и IDLE (RCON<2>) равны "0", т.е. МК ни в Idle ни в Sleep mode не был

Как заставить МК сбрасываться по WDT?

Код
#include <p30f5011.h>

_FOSC(XT_PLL4 & CSW_FSCM_ON);
_FWDT(WDT_ON & WDTPSA_1 & WDTPSB_5);

int main(void)
{
    ClrWdt();
    int a=1;
    while (a)
    {
        Nop();
    }    
    return 0;
}


Сообщение отредактировал Nebel - Nov 12 2009, 15:16
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vlad27
сообщение Nov 13 2009, 08:06
Сообщение #2


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

Группа: Свой
Сообщений: 95
Регистрация: 31-07-05
Из: Полоцк Беларусь
Пользователь №: 7 227



Ну, да. А с какой ему еще начинать, если он (МК) ресетится?
Go to the top of the page
 
+Quote Post
Nebel
сообщение Nov 13 2009, 08:12
Сообщение #3





Группа: Участник
Сообщений: 14
Регистрация: 16-06-08
Из: Москва
Пользователь №: 38 319



Цитата(Vlad27 @ Nov 13 2009, 11:06) *
Ну, да. А с какой ему еще начинать, если он (МК) ресетится?

smile.gif
в том-то и дело что у меня не начинает, а висит в цикле...

упс... нашел в чем косяк....
идем в MPLAB'е в Debugger->Settings, выбираем закладку "Break Options" и для "WDT Timeout" ставим "Reset" (а у меня было "Break").
Сейчас на железке проверю.
Go to the top of the page
 
+Quote Post
Vlad27
сообщение Nov 13 2009, 08:25
Сообщение #4


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

Группа: Свой
Сообщений: 95
Регистрация: 31-07-05
Из: Полоцк Беларусь
Пользователь №: 7 227



Цитата(Nebel @ Nov 13 2009, 10:12) *
smile.gif
в том-то и дело что у меня не начинает, а висит в цикле...

упс... нашел в чем косяк....
идем в MPLAB'е в Debugger->Settings, выбираем закладку "Break Options" и для "WDT Timeout" ставим "Reset" (а у меня было "Break").
Сейчас на железке проверю.


Лучше устанавливать опцию "Break+Warn", тогда не будет таких ситуаций, когда непонятно
почему МК ресетится, или, наоборот. Сам на этом когда-то обжегся.
Go to the top of the page
 
+Quote Post



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

 


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


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