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

 
 
 
Reply to this topicStart new topic
> Сброс бита WDE в WDT
artic
сообщение Dec 24 2014, 14:21
Сообщение #1


Участник
*

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



Подскажите пожалуйста нормально ли что установленный бит WDE в регистре WDTCSR не очищается от сигнала внешнего сброса, а после рестарта программы WDT c установленным WDE не осуществляет системный сброс пока его повторно не сконфигурируешь? Изначально WDT сконфигурирован на системный сброс.
Например в контроллерах Атмега.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Dec 24 2014, 16:19
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



Цитата(artic @ Dec 24 2014, 18:21) *
Подскажите пожалуйста нормально ли что установленный бит WDE в регистре WDTCSR не очищается от сигнала внешнего сброса, а после рестарта программы WDT c установленным WDE не осуществляет системный сброс пока его повторно не сконфигурируешь? Изначально WDT сконфигурирован на системный сброс.
Например в контроллерах Атмега.

Да , так и должно быть.
Читаем про WDT и системный (аппаратный) сброс


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
artic
сообщение Dec 24 2014, 16:48
Сообщение #3


Участник
*

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



Спасибо!!! Про то что WDT необходимо заново инициализировать иначе он не отработает (несмотря на то что WDE установлен и это уже достаточно чтобы возникло прерывание или сброс системный) я нигде не нашел.


Сообщение отредактировал artic - Dec 24 2014, 16:59
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Dec 24 2014, 19:35
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



В любом DS , на любой процессор ATMEL , есть разделы про сброс процессора и раздел по WDT


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Feb 11 2015, 21:52
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716



Код
RESET:                ;
;---- STACK INIT ------;
ldi   tmp, low(ramend);
out   SPL,tmp         ;
ldi   tmp,high(ramend);
out   SPH,tmp         ;
;----------------------;
clr   zero            ;
;----------------------;
sts   WDTCR,zero      ; disable watchdog Timer
sei                   ; enable interrupts


Где-то пишем код.

Код
;----------------------;
                     ; Programm will be restarted after (1ms F.osc 16.000MHz)  
                     ;   - - - WDCE WDE WDP2 WDP1 WDP0
                     ; (0-16kc),(1-32kc),(2-64kc),(4-256kc),(5-512kc),(6-1024kc),(7-2048kc)
ldi   tmp,(1<<WDCE)|(1<<WDE)|(0<<WDP2)|(0<<WDP1)|(0<<WDP0)  
andi  tmp,0x1F    ; 16k cycles make RESET
sts   WDTCR,tmp      ;


там где надо ресетить собачку вписываем

Код
wdr    ; watch dog reset

все.

Сообщение отредактировал IgorKossak - Feb 11 2015, 22:06
Причина редактирования: [codebox] для длинного кода, [code] - для короткого
Go to the top of the page
 
+Quote Post

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

 


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


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