Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/38: Рейтинг темы: голосов - 38, средняя оценка - 4.68
mVm
0 / 0 / 0
Регистрация: 12.04.2015
1

Сторожевой таймер ATmega16-16PU

28.08.2010, 00:39. Просмотров 6942. Ответов 8
Метки нет (Все метки)

Здравствуйте! Есть вопрос по сторожевому таймеру Atmega16-16PU.
Это мой первый рабочий проект и столкнулся я вот с какой проблемой:
в процедуре RESIT запускаю сторожевой таймер (делитель минимальный хотя ставил и максимальный рабочая частота 1мГц)

in tmp, WDTCR
ori tmp,(1<<WDE) | (0<<WDP2) | (0<<WDP1) | (0<<WDP0)
out WDTCR, tmp

Далее по тексту, как пишут в умных книгах, устанавливаю WDR и думаю всё под контролем. Когда закончил отладку основной проги, решил посмотреть как работает эта собака в реале. Вставил в прогу такой вот затык
proverka:
Sbi PORTB,0 ; вкл. контрольный св. диод
jmp proverka
и девайс мой благополучно висит. В чём прикол не пойму, вроде бы всё просто. Может кто сталкивался с подобным или я что-то не так понял? Если не трудно подскажите. Спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.08.2010, 00:39
Ответы с готовыми решениями:

Не могу прошить ATMEGA16 16PU
Доброго весм времени суток! Начал знакомство с МК. Начал с изготовления инструментов. Изготовил...

Сторожевой таймер
В первый раз подключаю сторожевой таймер. Подскажите пожалуйста какие бывают ошибки. МК atmega8....

Отличия Atmega8A-PU - Atmega8-16PU
Atmega8A-PU и Atmega8-16PU Чем отличаются данные МК? Какие ещё есть разновидности Atmega8 в...

Не прошивается atmega8-16pu через usbasp.
Пытаюсь прошить atmega8-16pu через китайский usbasp. Светодиод на программаторе загорается при...

Сторожевой таймер
Собственно не могу настроить. Пытался и через библиотеки и через регистры. Хочу поставить...

8
Гарнист
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
28.08.2010, 01:17 2
Пардон, а как будет видно, что оно НЕ висит, а бутнулось? Светодиод погаснет? Как надолго он погаснет, пока программа опять не войдёт в цикл proverka?
0
mVm
0 / 0 / 0
Регистрация: 12.04.2015
28.08.2010, 16:49 3
Цитата Сообщение от Гарнист
Пардон, а как будет видно, что оно НЕ висит, а бутнулось? Светодиод погаснет? Как надолго он погаснет, пока программа опять не войдёт в цикл proverka?
Программа входит в режим проверки по внешнему прерыванию и по выходу оттуда (я так полагаю после сброса сторожевого таймера) светодиод должен погаснуть, а как надолго зависит от меня. К сожалению этого не происходит, спасает только RESIT
0
mVm
0 / 0 / 0
Регистрация: 12.04.2015
01.09.2010, 19:59 4
С проблемой похоже разобрался. Весь прикол в прерывании по TIM0, которое в моей проге срабатывает где-то с частотой 100 Гц. В обработчике этого прерывания есть команда сброса сторожевого таймера. Вот и вся байда, а я то думал, что если я его подвесил (мк), то всё и остановилось! В связи с чем у меня есть ещё вопрос, может и не надо во всех процедурах рассовывать WDR, а достаточно одной, в обработчике прерываний?
Спасибо!
0
01.09.2010, 19:59
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
01.09.2010, 20:29 5
В связи с чем у меня есть ещё вопрос, может и не надо во всех процедурах рассовывать WDR, а достаточно одной, в обработчике прерываний?
Ты сам понял, что сказал? Нахрена тогда вообще все это?
0
Brykodyr
0 / 0 / 0
Регистрация: 16.08.2010
Сообщений: 1,326
01.09.2010, 20:36 6
ИМХО лучше так. Пса кормить в прерывании по разрешению. Теперь при входе в сомнительную процедуру запрещать кормежку, а по выходу из нее - разрешать (можно еще и покормить).
0
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
01.09.2010, 22:21 7
я пинаю собаку в цикле idle
т.е. если вышли из диспетчера в idle значит все хорошо. Если не вышли -- плохо и собака кусает за жопу.
0
DY HOTT
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 4,000
01.09.2010, 22:21 8
А в прерывании лучше собаку вообще не трогать. Т.к. прерывания могут вызываться даже если у тебя головная прога повисла наглухо.
0
mVm
0 / 0 / 0
Регистрация: 12.04.2015
01.09.2010, 23:04 9
Всем спасибо, приму к сведению
0
01.09.2010, 23:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.09.2010, 23:04

Сторожевой таймер Ардуино
Здравствуете! От внешних помех ардуина периодически зависает. На макетке собрал сторожевой таймер...

atmega 8 сторожевой таймер
В каких случаях можно полагаться на сторожевой таймер? Столкнулся с тем, что в контроллере для...

atmega32 16pu и ds18b20
добрый вечер если не трудно может подскажете, делаю контроллер. вот схема...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru