roboforum.ru

Технический форум по робототехнике.
Текущее время: 18 фев 2025, 23:03

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: WDT Как понять сторожевого пса?
СообщениеДобавлено: 17 ноя 2007, 12:50 
Не в сети

Зарегистрирован: 06 ноя 2007, 22:16
Сообщения: 43
Откуда: Кохтла-Ярве
После запуска VMLAB во время опроса входов
Код:
if(!PINC.1 && PINC.2) {delay_ms(5); PORTB=step_mx[i]; i++;  if(i>7) i=0;}
Watchdog прерывает процедуру:
Код:
[PC = $02D8, Time =   14.25 ms, {WDT}]: Watchdog will produce a reset here. Use WDR instruction before this point

Точно также он "лает" после изменения состояния входов. Что за инструкцию он требует? Что ему может не нравится? :(


Последний раз редактировалось Digit 17 ноя 2007, 18:39, всего редактировалось 2 раз(а).
Поправил "WDG" на "WDT", т.к. это WatchDogTimer ;)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WDT Как понять сторожевого пса?
СообщениеДобавлено: 17 ноя 2007, 13:00 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
VMLAB слишком умный и дает советы. Не обращай внимания если не включал WDT и не используешь его. Жми светофор.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WDT Как понять сторожевого пса?
СообщениеДобавлено: 17 ноя 2007, 23:00 
Не в сети

Зарегистрирован: 06 ноя 2007, 22:16
Сообщения: 43
Откуда: Кохтла-Ярве
Нет, не зря видимо собака лает..
У меня по взведенному биту прога должна заходить в цикл while(bit) внутри цикла while(1). Заходить, то она заходит, но пробежав его 1 раз улетает неизвестно куда. В while(bit) то уж точно не заходит, это видно по строкам в VMLAB.
В очень урезанном виде код выглядит так:
Код:

void step_x(void)
        {
         i++;
          if(i>7)        i=0;             //esli matrica step_ proidena vozvrat v na4alo matricy   
        PORTB=step_mx[i];       //zapis shaga v port PORTC elementa matricy step_mx
        }

void main(void)
{
init();

while (1)
      {
       if(st_x) step_x();                   //vyzov funkcii shagov po "X"
       if (!PINC.0)   on=1;
while (on)   
                 {
                    if(st_x) step_x();                     //vyzov funkcii shagov po "X"
                   if (!PINC.5)  on=0;
                  }
        }
}

Никак не понять, почему он на задерживается в цикле и почему ему заново в него не войти, ведь условие входа выставлено??????
avr123.nm.ru писал(а):
...если не включал WDT и не используешь его.

В каких случаях и как используют инструкцию WDT???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WDT Как понять сторожевого пса?
СообщениеДобавлено: 17 ноя 2007, 23:08 
Не в сети
отсылающий читать курс
Аватара пользователя

Зарегистрирован: 06 ноя 2005, 04:18
Сообщения: 14195
Откуда: Москва
WDT - используют для сброса сторожевого таймера, но по умолчанию он не активирован.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WDT Как понять сторожевого пса?
СообщениеДобавлено: 19 ноя 2007, 14:01 
Не в сети

Зарегистрирован: 06 ноя 2007, 22:16
Сообщения: 43
Откуда: Кохтла-Ярве
А если WDT -собака лает во время опроса PIN-ов, и выставляет мне на этой строчке "!"
Это значит, что программа где то зависает на опросах?????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WDT Как понять сторожевого пса?
СообщениеДобавлено: 19 ноя 2007, 15:06 
Не в сети
Аватара пользователя

Зарегистрирован: 21 дек 2006, 19:56
Сообщения: 4468
Откуда: Украина, г.Одесса
прог. языки: Delphi и С
Все что VMlab пишет про WDT послылаешь в далекое эротическое путешествие.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO