Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Всем привет. SM Ты есть? Вопрос есть к Тебе.

Отправлено xanoy 15 июня 2007 г. 19:25


Как то года три назад я заложил Твой (по крайней мере Ты, и не только Ты его тогда "хвалил") принцип сбрасивания WatchDog в программе. А принцип таков:
Cоздается флаг, например WDG_f, который указывает нужно ли сбрасывать WatchDog или нет.
И этот флаг устанавливается после выполнения критичного к зависанию кода.

void identification(void)
{
..................
test_mobil()
WDG_f =1;
........................
}

А сбрасывается данный флаг вместе с сбросом WatchDog, в прерывании системного таймера

#pragma vector = TIMER0_COMP_vect
__interrupt void TIMER_0 (void)
{
if (WDG_f)
{
_WDR();
WDG_f = 0;
}
++tick;
if (tick - _sys_now > TIMEOUT)
{
_sys_now = tick;
}
}
Проблема в том что я не могу вспомнить чем этот метод хорош, а чем плох, и что самое обидное где я его откапал (что бы спросить). По этому обратился в пустыню (просто там чаще бываю). И ребята дали вполне вразумительные ответы.
Но я вспомнил человека который тогда говорил что юзает данный метод - это Ты (но могу и ошибатся).
И поэтому хочу спросить. Проблемы были с данным методом или нет?

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 12:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru