Перейти к содержанию
    

Проблема с AVR Studio

Добрый день.

При отладке программы на AVR Studio, versia 4.19

команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.

Для отладки программы пришлось выключить сторожевой таймер.

Не подскажете, в чём может быть причина?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

При отладке программы на AVR Studio, versia 4.19

команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.

 

Где вы там нашли счётчик watchdog-а?

Отродясь его там не было?

 

Для отладки программы пришлось выключить сторожевой таймер.

Не подскажете, в чём может быть причина?

Тут главное вызывался ли сброс или нет.

 

PS Какой контроллер?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Счетчик вочдога есть всегда, иначе чего сбрасывать?

Другое дело, что вочдог перед применением следует разрешить, и на разных процах эта процедура может быть разной.

Вочдог однозначно работает при отладке на фирменном эмуляторе. А вот про симулятор не помню, но вроде тоже работал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

Где вы там нашли счётчик watchdog-а?

В AVR Studio, в окне Processor есть Stop Watch именно он и не сбрасывается

по ассемблерной команде wdr.

В результате симулятор через определённое время делает Reset.

 

PS Какой контроллер?

Контроллер ATmega16.

 

Другое дело, что вочдог перед применением следует разрешить, и на разных процах эта процедура может быть разной.

Вочдог в программе конечно разрешён,

возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Processor есть Stop Watch именно он и не сбрасывается

по ассемблерной команде wdr.

Откуда дровишки?

В смысле что сбрасывается?

 

В результате симулятор через определённое время делает Reset.

Контроллер ATmega16.

Нет, это у вас почему-то в программу он не сбрасывается в отведённый период.

 

Вочдог в программе конечно разрешён,

возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?

Не нужно. Он либо поддержан симулятором (в основном так и есть), либо нет (не встречалось такое).

 

Из help-а:

Stop Watch

The stop watch is showing time used. This is a product of the cycle counter and the frequency. Right click on the value to reset the stopwatch and toggle between microseconds and milliseconds.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен, действительно Stop Watch в окне Processor не имеет отношения к вотчдогу.

Тут я ошибся.

 

Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.

Это я чётко вижу при симуляции программы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.

Это я чётко вижу при симуляции программы.

Как вы это видите?

Программа сбрасывается?

WDRF установлен на старте?

Тогда проблема в программе скорей всего.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это я чётко вижу при симуляции программы.

Смотрим на модель своего процессора , здесь Вы его не указали, лезем в HELP STUDIO раздел симмулятор и смотрим, а поддерживается ли симмулятором watshdog для Вашего проца.

Выходим из симмулятора и забываем его как кошмарный сон

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я просто отключал Watchdog при симуляции в студии. Ну не сбрасывается он и что с того? В железе то правильно работает. Если почитаете хэлп, как выше советовали, то много чего еще найдете что не работает и о чем честно предупреждают разработчики. Спокойней надо относиться к багам и фичам симулятора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В HELP STUDIO действительно указано что watshdog поддерживается не для всех контроллеров.

Правда, для моего ATmega16 написано что поддерживается.

Но это уже не имеет большого значения, попробовал программу в железе, она работает, это главное.

Будем считать что это баг симулятора, и следуя разумному совету от GDI, буду спокойнее к ним относится.

Спасибо всем за советы.

 

To ILYAUL.

Выходим из симмулятора и забываем его как кошмарный сон

Хорошо, а чем пользуемся взамен симулятора?

 

Кстати, подскажите как Вы вставляете в текст цитаты.

Я щёлкаю по иконке цитата, затем копирую нужный текст, и вставляю его между двух quote.

При этом цитата получается без верхне заглавной строчки.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно в железе вы не замечаете перезапуска программы.

Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To ILYAUL.

Хорошо, а чем пользуемся взамен симулятора?

Я лично делаю макетную плату. Но в продаже есть сколь угодно готовых плат для отладки программ. Ну , а так как в большенстве случаем программы легко переносятся с одного проца на другой , то много то их и не надо.

 

Возможно в железе вы не замечаете перезапуска программы.

Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?

Отличная студия , глюков практически нет. А по новее это шестёрка и опыт подсказывает , что хоть типа и финал , но наверняка не финал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно в железе вы не замечаете перезапуска программы.

Это исключено, при перезапусках она бы просто не работала.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там же два симулятора - simuator1 и simulator2. Вот первый и не поддерживает вочдога и много чего ещё. Выберите второй ( но он не позволяет внаглую менять биты в регистрах TWI, SPI и т.п.

Вообще-то не представляю, как симулировать wdog. Он работает асинхронно, медленно, поэтому может вылезти в любом месте программы, ну перестартует. Что там отлаживать? Поставьте точку выполнения на старт вручную - вот вам и wdog. Его надо просто выключать при отладке. Могучая конструкция #define debug - #ifdef debug ... переключит всё, что надо одной кнопкой.

Изменено пользователем Maik-vs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...