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

 
 
> Проблемы с WatchDog, LPC2142
DreamTwister
сообщение Nov 10 2008, 05:21
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 5-08-08
Из: Челябинск
Пользователь №: 39 436



Не запускается сторожевая собака.

void WDT_feed()
{
WDFEED = 0xAA;
WDFEED = 0x55;
}

void WDT_Init()
{
WDTC = 0x0000FFFF;
WDMOD &= 0xFFFFFFFFFB;
WDMOD |= 0x03;
WDT_feed();
}

Вроде последовательность правильная, сначала инициализация, потом подача.
Но сброса не происходит! При просмотре через дебаггер видно, что регистр WDTV не меняет свое значение, как при подаче, так и при отсчете.

Что делать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DreamTwister
сообщение Nov 14 2008, 09:22
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 5-08-08
Из: Челябинск
Пользователь №: 39 436



Через дебаггер IARа.

Видно, что WDTV всегда содержит FF. WDFEED значение не меняет.
Может при подключенном JTAG WDT не работает?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 14 2008, 12:16
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(DreamTwister @ Nov 14 2008, 11:22) *
Через дебаггер IARа.

Видно, что WDTV всегда содержит FF. WDFEED значение не меняет.
Еще раз: WDFEED - регистр только для записи. Дебаггер будет читать из него что угодно, но только не записанное значение. Кстати, если вы проходите вашу функцию WDT_feed() пошагово, с открытым окном регистров WDT, то вполне может ничего не работать: Между записями 0xAA и 0x55 не должно быть других обращений к регистрам WDT, а дебаггер после каждой команды в пошаговом режиме читает эти регистры и таким образом нарушает последовательность. Хотя в этом случае (судя по документации) должен происходить сброс.
Цитата(DreamTwister @ Nov 14 2008, 11:22) *
Может при подключенном JTAG WDT не работает?
Работает. Во всяком случае исправно сбрасывает проц, в результате чего дебаггер IAR теряет связь с процом.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd August 2025 - 20:12
Рейтинг@Mail.ru


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