реклама на сайте
подробности

 
 
> Опять WatchDog Timer, Atmega64
AndreyVN
сообщение Jan 23 2013, 16:46
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 754
Регистрация: 29-06-06
Из: Volgograd
Пользователь №: 18 458



В коде программы команд сброса сторожевого таймера нет вообще, инициилизирую WD-таймер, хочу увидеть, как каждые 2 секунды
будет моргать экран и инициализироваться меню, однако, после инициализации WD-таймера ничего не происходит.

Что я упустил?

Процессор Atmega64
Fusebits: WDTON=1 MC103=1

Код
void WatchDogStart()
{
#asm("wdr")     //на всякий случай сбросить сторожевой таймер
WDTCR=0x1F;  //WDCE=1, WDE=1, делитель 2 сек.
WDTCR=0x0F;  //WDCE=0, WDE=1,
}

void WatchDogStop()
{
#asm("wdr")       //сбросить сторожевой таймер
WDTCR = 0x1F;  //выключить сторожевой таймер
WDTCR = 0x00;
}


Сообщение отредактировал IgorKossak - Jan 23 2013, 19:56
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
artic
сообщение Feb 14 2013, 12:33
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 11-10-06
Пользователь №: 21 205



День добрый!

Есть программка в которой с помощью WDT осуществляется RESET.
Есть 2 HEX файла одного и того же исходника полученные в CodeVision. Первый с оптимизацией по размеру, второй по скорости.

Программируем загрузчиком chip45boot2. При загрузки первого файла, WDT
не хочет делать RESET, а при загрузке 2го все работает.
Если заливать софт через программатор, то работают оба.

Господа, может есть у кого какие соображения??? Какая тут может быть связь.? wacko.gif Подскажите плиз.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 14 2013, 13:48
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(artic @ Feb 14 2013, 14:33) *
Господа, может есть у кого какие соображения??? Какая тут может быть связь.? wacko.gif Подскажите плиз.

Видимо не выполняется "Timed Sequences for Changing the Configuration of the Watchdog Timer" и вотчдог не включается.
Go to the top of the page
 
+Quote Post
artic
сообщение Feb 14 2013, 15:29
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 16
Регистрация: 11-10-06
Пользователь №: 21 205



Видимо нет.
Память aplication залитая программатором или загрузчиком идентична. (сверена после программирования)
В варианте с загрузчиком, если изменить фьюс BOOTRST при котором
старт начнется с нулевого адреса а не с адреса загрузчика (как оно и должно быть), все работает.


Go to the top of the page
 
+Quote Post
_Артём_
сообщение Feb 14 2013, 16:04
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(artic @ Feb 14 2013, 17:29) *
В варианте с загрузчиком, если изменить фьюс BOOTRST при котором
старт начнется с нулевого адреса а не с адреса загрузчика (как оно и должно быть), все работает.

Возможно в загрузчике выполняются какие-то манипуляции с WDT.

Цитата(artic @ Feb 14 2013, 17:29) *
если изменить фьюс BOOTRST при котором старт начнется с нулевого адреса а не с адреса загрузчика (как оно и должно быть).

Ну. если вам не нужен загрузчик - "как оно и должно быть" - то и не шейте его...раз всё работает.

PS. В каком состоянии остальные байты фузов (там их три). Гадать можно долго.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AndreyVN   Опять WatchDog Timer   Jan 23 2013, 16:46
- - _Артём_   Цитата(AndreyVN @ Jan 23 2013, 18:46) Что...   Jan 23 2013, 17:16
- - Палыч   Цитата(AndreyVN @ Jan 23 2013, 20:46) Что...   Jan 23 2013, 18:41
|- - AndreyVN   Цитата(Палыч @ Jan 23 2013, 21:41) Упусти...   Jan 24 2013, 04:14
|- - Палыч   Цитата(AndreyVN @ Jan 24 2013, 08:14) Нас...   Jan 24 2013, 15:59
|- - AndreyVN   Цитата(Палыч @ Jan 24 2013, 19:59) Да, до...   Jan 25 2013, 09:04
|- - Сергей Борщ   QUOTE (AndreyVN @ Jan 25 2013, 11:04) сов...   Jan 25 2013, 11:24
|- - AndreyVN   Цитата(Сергей Борщ @ Jan 25 2013, 14:24) ...   Jan 25 2013, 15:54
|- - ARV   Цитата(AndreyVN @ Jan 25 2013, 19:54) ...   Feb 14 2013, 16:29
|- - _Артём_   Цитата(ARV @ Feb 14 2013, 18:29) если мне...   Feb 14 2013, 17:10
|- - artic   Да, реализованно на ассемблере. Иначе при компиляц...   Feb 14 2013, 17:48
|- - _Артём_   Цитата(artic @ Feb 14 2013, 19:48) Что уч...   Feb 14 2013, 19:05
|- - artic   После "программного сброса" ничего не ра...   Feb 15 2013, 05:28
- - alexeyv   Не парьтесь и воспользуйтесь "avr\wdt.h...   Jan 24 2013, 04:14
|- - artic   Загрузчик выключает WDT. Как раз с загрузчиком и ...   Feb 14 2013, 16:30
- - ILYAUL   Ну так сравни два асм кода с разными оптимизациями...   Feb 14 2013, 18:06
|- - artic   Я ж говорю, при любой оптимизации работает если ши...   Feb 14 2013, 18:22
- - RabidRabbit   Мож где при инициализации оборудования оптимизатор...   Feb 15 2013, 05:51
- - ILYAUL   ЦитатаЯ ж говорю, при любой оптимизации работает е...   Feb 15 2013, 06:32
- - artic   Загрузчик не компилирую. Он изначально есть только...   Feb 15 2013, 07:23


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 19:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01422 секунд с 7
ELECTRONIX ©2004-2016