Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 04.03.2010, 19:48  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
Вопрос AVR Watchdog

Долго уже авр программировал, использовал watchdog только для "экстренного" ресета в случае зависания. Теперь вот хочу, чтоб он просто будил мк из слипа. (пока только протеус) Не фурычит.
(чип mega48 ) два бита есть в контрольном ватчдоговом регистре (ну два, про которые сейчас речь) - WDE и WDIE, которые соответсвенно отвечают за ресет или преоывание по переполнению этого самого ватчдога (или же и то и то). Так вот. Ресет мне не нужен, значит нужно прерывание, потому устанавливаю WDIE, как в даташите.
Протеус материццо:
Сообщение от Proteus
WDCE is set but WDE is not. Do nothing
А когда таймаут истекает
Сообщение от Proteus
Watchdog setup sequence is timed out. Do nothing
Что ж это получаеццо, без установленого WDE работать не будет? Но с ним только ресет. Глупость какая-то...
Народ что скажете, я или протеус?
Реклама:
__________________
Sex, Druggs, Rock&Roll

Последний раз редактировалось alberio; 04.03.2010 в 19:49. Причина: из знаков пунктуации сделался смайлик неуместный
alberio вне форума  
Непрочитано 04.03.2010, 19:56  
alberio
Гражданин KAZUS.RU
 
Аватар для alberio
 
Регистрация: 08.07.2006
Сообщений: 583
Сказал спасибо: 76
Сказали Спасибо 90 раз(а) в 66 сообщении(ях)
alberio на пути к лучшему
По умолчанию Re: AVR Watchdog

С настройками разобрался, я сглупил. Сначала должны быть установлены оба бита WDE и WDCE, а потом уже то, что нужно.
Но проблема осталась - ватчдог (его прерывание) не будит мк....
__________________
Sex, Druggs, Rock&Roll
alberio вне форума  
Непрочитано 04.03.2010, 21:01  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: AVR Watchdog

$18 в WDTCSR
$C2 в WDTCSR
железно работает на всех АВРках с которыми я его юзал

перед отключением вачдога надо сбрасывать ВДРФ иначе игнор
niXto вне форума  
Непрочитано 19.08.2010, 10:41  
grbizly
Частый гость
 
Регистрация: 17.04.2008
Сообщений: 34
Сказал спасибо: 300
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
grbizly на пути к лучшему
По умолчанию Re: AVR Watchdog

А можно ли отследить или посмотреть место срабатывания Watchdog? а то в Proteus все работает прекрасно, а в плате постоянно идет сброс по Watchdog.

вот включение/выключение
void WD_ON(void)
{
#asm ("cli")
MCUCSR&=0‹‹WDRF;
#asm ("wdr")
WDTCR|=(1‹‹WDCE)|(1‹‹WDE);
WDTCR&=(0‹‹WDCE);
WDTCR|=(1‹‹WDE)|(1‹‹WDP2)|(1‹‹WDP1)|(1‹‹WDP0); //2c
#asm ("sei")
}

void WD_OFF(void)
{
#asm ("cli")
MCUCSR&=0‹‹WDRF;
#asm ("wdr")
WDTCR|=(1‹‹WDCE)|(1‹‹WDE);
WDTCR=0x00;
#asm ("sei")
}

постоянно индицируется сброс на экране
if(MCUCSR››WDRF==1) //сброс от watchdog был v 1.4.3.4.1f
{
lcd_gotoxy(0,0);
lcd_putsf("Zavisanie MC:");
delay_ms(1000);
#asm ("wdr")
}

Последний раз редактировалось grbizly; 19.08.2010 в 10:54.
grbizly вне форума  
Непрочитано 19.08.2010, 11:28  
harchenko_pavel
Прописка
 
Регистрация: 28.09.2006
Сообщений: 144
Сказал спасибо: 11
Сказали Спасибо 95 раз(а) в 51 сообщении(ях)
harchenko_pavel на пути к лучшему
По умолчанию Re: AVR Watchdog

WDRF: Флаг индикации сброса сторожевым таймером

Данный бит устанавливается после сброса сторожевым таймером. Данный бит сбрасывается при подаче питания или путем записи лог. 0 в данный флаг.

if(MCUCSR››WDRF==1) //сброс от watchdog был v 1.4.3.4.1f
{
MCUCSR &=~(1‹‹WDRF);
lcd_gotoxy(0,0);
lcd_putsf("Zavisanie MC:");
delay_ms(1000);
#asm ("wdr")
}

На IAR я делал так:

#define WDTO_15MS 0
#define WDTO_30MS 1
#define WDTO_60MS 2
#define WDTO_120MS 3
#define WDTO_250MS 4
#define WDTO_500MS 5
#define WDTO_1S 6
#define WDTO_2S 7

void WDT_ON(void)
{
WDTCR = (1‹‹WDTOE)|(1‹‹WDE)|WDTO_2S;// установка и запуск сторожевого таймера
SREG_I = 1; //разрешение всех прерываний
}

Последний раз редактировалось harchenko_pavel; 19.08.2010 в 14:30.
harchenko_pavel вне форума  
Непрочитано 19.08.2010, 11:57  
grbizly
Частый гость
 
Регистрация: 17.04.2008
Сообщений: 34
Сказал спасибо: 300
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
grbizly на пути к лучшему
По умолчанию Re: AVR Watchdog

у меня в Proteus все работает, и регистры и флаги все как надо устанавливается и сбрасывается, а в плате висит на экране lcd_putsf("Zavisanie MC:"); и не могу понять почему? вот и хотелось бы узнать возможно ли отследить место сброса!!!
grbizly вне форума  
Непрочитано 19.08.2010, 12:05  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: AVR Watchdog

Обычными тестовыми светодиодами (или даже одним). По ходу проги включаешь их по одному, там где не включился глюк и надо искать.
st_1 вне форума  
Непрочитано 19.08.2010, 14:26  
grbizly
Частый гость
 
Регистрация: 17.04.2008
Сообщений: 34
Сказал спасибо: 300
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
grbizly на пути к лучшему
По умолчанию Re: AVR Watchdog

Спасибо, но похоже нужно пробовать в proteus 7.7sp2, потому как в 7.2 уж очень подозрительно как то работает.
grbizly вне форума  
 

Закладки

Метки
avr, watchdog
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AVR JTAGICE MKII - проблемы firmware... Luxurious AVR 25 20.10.2014 10:50
БИНС на AVR grisha109 Микроконтроллеры, АЦП, память и т.д 30 15.06.2011 16:08
AVR и интерфейс. Просто (но не для меня) Харрисон Микроконтроллеры, АЦП, память и т.д 3 03.03.2010 02:22


Часовой пояс GMT +4, время: 21:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot