Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема с AVR Studio
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Nikkolaj
Добрый день.
При отладке программы на AVR Studio, versia 4.19
команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.
Для отладки программы пришлось выключить сторожевой таймер.
Не подскажете, в чём может быть причина?
_Артём_
Цитата(Nikkolaj @ May 26 2012, 21:12) *
Добрый день.
При отладке программы на AVR Studio, versia 4.19
команда wdr (watch dog reset) не обнуляет счётчик сторожевого таймера.


Где вы там нашли счётчик watchdog-а?
Отродясь его там не было?

Цитата(Nikkolaj @ May 26 2012, 21:12) *
Для отладки программы пришлось выключить сторожевой таймер.
Не подскажете, в чём может быть причина?

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

PS Какой контроллер?
V_G
Счетчик вочдога есть всегда, иначе чего сбрасывать?
Другое дело, что вочдог перед применением следует разрешить, и на разных процах эта процедура может быть разной.
Вочдог однозначно работает при отладке на фирменном эмуляторе. А вот про симулятор не помню, но вроде тоже работал
Nikkolaj

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

В AVR Studio, в окне Processor есть Stop Watch именно он и не сбрасывается
по ассемблерной команде wdr.
В результате симулятор через определённое время делает Reset.

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

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

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

Вочдог в программе конечно разрешён,
возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?
_Артём_
Цитата(Nikkolaj @ May 27 2012, 07:25) *
Processor есть Stop Watch именно он и не сбрасывается
по ассемблерной команде wdr.

Откуда дровишки?
В смысле что сбрасывается?

Цитата(Nikkolaj @ May 27 2012, 07:25) *
В результате симулятор через определённое время делает Reset.
Контроллер ATmega16.

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

Цитата(Nikkolaj @ May 27 2012, 07:25) *
Вочдог в программе конечно разрешён,
возможно его сброс нужно дополнительно разрешать какими то опциями в симуляторе?

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

Из 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.



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

Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.
Это я чётко вижу при симуляции программы.
_Артём_
Цитата(Nikkolaj @ May 27 2012, 11:14) *
Но команда wdr всё равно не обнуляет счётчик сторожевого таймера.
Это я чётко вижу при симуляции программы.

Как вы это видите?
Программа сбрасывается?
WDRF установлен на старте?
Тогда проблема в программе скорей всего.
ILYAUL
Цитата(Nikkolaj @ May 27 2012, 12:14) *
Это я чётко вижу при симуляции программы.

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

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

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

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

Navovvol
Возможно в железе вы не замечаете перезапуска программы.
Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?
ILYAUL
Цитата(Nikkolaj @ May 29 2012, 14:34) *
To ILYAUL.
Хорошо, а чем пользуемся взамен симулятора?

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

Цитата(Navovvol @ May 29 2012, 14:43) *
Возможно в железе вы не замечаете перезапуска программы.
Да и АВР Студию можно поновее поставить. Где хоть откапали этого динозавра ?

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

Это исключено, при перезапусках она бы просто не работала.
Maik-vs
Там же два симулятора - simuator1 и simulator2. Вот первый и не поддерживает вочдога и много чего ещё. Выберите второй ( но он не позволяет внаглую менять биты в регистрах TWI, SPI и т.п.
Вообще-то не представляю, как симулировать wdog. Он работает асинхронно, медленно, поэтому может вылезти в любом месте программы, ну перестартует. Что там отлаживать? Поставьте точку выполнения на старт вручную - вот вам и wdog. Его надо просто выключать при отладке. Могучая конструкция #define debug - #ifdef debug ... переключит всё, что надо одной кнопкой.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.