roboforum.ru

Технический форум по робототехнике.

attiny45 + Proteus + watchdog == "криво" работает?

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

attiny45 + Proteus + watchdog == "криво" работает?

Сообщение vadlm » 27 авг 2009, 18:33

Proteus 7.5 и 7.6 - Проблема с Watchdog

Имеем проект с attiny45. Ставим по датшиту коэф.деления что бы получить 8s сработки собаки(max).

WDTCR = 0x39;
WDTCR = 0x29;

В результате пошагового исполнения протеус (правый клик на элементе -> Configure diagnostic -> Watchdog Timer Module -> Debug) сообщает: Enabled. Period is 0.004000000s, Reset mode.

Т.е. в 2000 раз меньше делает, ну и сбрасывает каждые 4ms вместо 8s.

В "Avr microprocessor model" - "Model Properties" нашел, что Watchdog clock = 1Mhz вместо 125Khz по датшиту. Но это всего в 8 раз больше. Откуда же такой глюк (2000/8=250 раз)?

CodeWizardAVR тоже согласен со мной в настройке Собаки:
// Watchdog Timer initialization
// Watchdog Timer Prescaler: OSC/1024k
// Watchdog Timer interrupt: Off
#pragma optsize-
#asm("wdr")
WDTCR=0x39;
WDTCR=0x29;

Код весь не привожу, всего-то там запуск собаки и бесконечный цикл. (компилил avr-gcc ибо сам под linuxом).
Кто знает, что это за прикол?
vadlm
 
Сообщения: 3
Зарегистрирован: 27 авг 2009, 18:25
Откуда: Жодино

Re: attiny45 + Proteus + watchdog == "криво" работает?

Сообщение nest » 27 авг 2009, 20:00

мало что собака во многих "родных" симуляторах подглючивает, так вы её ещё в протеусе ...
запустите в железе.
Аватара пользователя
nest
 
Сообщения: 977
Зарегистрирован: 21 янв 2005, 12:16
Откуда: Germany
Предупреждения: -4
прог. языки: asm

Re: attiny45 + Proteus + watchdog == "криво" работает?

Сообщение vadlm » 28 авг 2009, 13:18

Так в железе все нормально и это главное. А с тандемом = протеус + собака раньше никогда не работал. Вот и удивился, что такую вроде простую вещь так криво сделали. Сразу подумалось, что у меня самого руки искривились (ну вроде может что подкрутить в самом протеусе надо было).
vadlm
 
Сообщения: 3
Зарегистрирован: 27 авг 2009, 18:25
Откуда: Жодино

Re: attiny45 + Proteus + watchdog == "криво" работает?

Сообщение avr123.nm.ru » 28 авг 2009, 13:28

Разработчик PROTEUS уже озадачился и пошел посмотреть - http://kazus.ru/forum/topic_10063-0-asc-730.html
А пока для симуляции наверно внешний сброс можно попробовать или внешний процесс прерывающийся чуть раньше и вам его придется сбрасывать раз в 8 сек или вашей проге тормозится на сбросах.

Добавлено спустя 6 минут 43 секунды:
vadlm писал(а):вместо 125Khz по датшиту.

128
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: attiny45 + Proteus + watchdog == "криво" работает?

Сообщение vadlm » 28 авг 2009, 16:51

avr123.nm.ru писал(а):Разработчик PROTEUS уже озадачился и пошел посмотреть

Нравиться мне Ваша оперативность, а самое главное желание помочь. Вот если бы Вы еще в своем курсе по протеусу собрали список таких глюков, было бы очень полезно. Мне лично курс понравился, много чего интересного. Когда-то давно именно с Вашей подачи и перебрался на протеус.
avr123.nm.ru писал(а):А пока для симуляции наверно внешний сброс можно попробовать или внешний процесс прерывающийся чуть раньше и вам его придется сбрасывать раз в 8 сек или вашей проге тормозится на сбросах.

Отличная мысль. Мне вполне подойдет такой финт. Да и пин один свободный (для отладки) могу выделить для имитации wdr во внешний сброс.
avr123.nm.ru писал(а):
vadlm писал(а):вместо 125Khz по датшиту.

128

Вот ведь как. Обычно с точностью до наоборот ошибаюсь - часто по программерской привычке разные степени 2 ставлю (256,512,1024) вместо круглых чисел. А тут пост по памяти писал и сразу в голову 128KHz пришлось, опять думаю мои глюки, ну и написал таки 125. :)
vadlm
 
Сообщения: 3
Зарегистрирован: 27 авг 2009, 18:25
Откуда: Жодино

Re: attiny45 + Proteus + watchdog == "криво" работает?

Сообщение avr123.nm.ru » 28 авг 2009, 16:56

vadlm писал(а):Мне лично курс понравился, много чего интересного.

Вас надо в красную книгу занести ! :)

vadlm писал(а):Вот если бы Вы еще в своем курсе по протеусу собрали список таких глюков, было бы очень полезно.
Дак на казусе уже второй топик до 107 странички распух по глюкам PROTEUS-а ! Пусть уж там лежат.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

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

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