Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/42: Рейтинг темы: голосов - 42, средняя оценка - 4.93
mostish
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 243
1

Watchdog attiny13 и mega8.

10.07.2015, 03:17. Просмотров 7968. Ответов 9
Метки нет (Все метки)

Изучаю статью что то понять не могу нет бита WDIE в байте настройки ватчдога WDTCR?

.....
ISR (WDT_vect) {
PORTB ^= _BV(PB4); // переключаем светодиод
WDTCR |= _BV(WDIE); // разрешаем прерывания по ватчдогу. Иначе будет резет.
}
.....

//инициализация ватчдога
wdt_risit(); // сбрасываем
wdt_enable(WDTO_1S); // разрешаем ватчдог 1 сек
WDTCR |= _BV(WDIE); // разрешаем прерывания по ватчдогу. Иначе будет резет.
sei(); // разрешаем прерывания
.........

компилятор ругается.

------------------------WDCE WDE WDP2 WDP1 WDP0 WDTCR мега8а
WDTIF WDTIE WDP3 WDCE WDE WDP2 WDP1 WDP0 WDTCR тини13а
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2015, 03:17
Ответы с готовыми решениями:

WatchDog
Есть устройство на меге16 (пока на ней) которое тупо запоминает в EEPROM во сколько на одном из...

Реанимация mega8
Привет форум. После долгого перерыва (5лет) решил вспомнить работу с мк. Нужно немного...

BLDC на mega8
помогите с написанием программы,а то принцип понимаю а как отразить в программный код не догоняю....

Mega8 и Mega88
Я особого отличия между этими 2-мя моделями не заметил. Кто с 88 работал, может подскажет в чем...

BootLoader vs mega8
Всем привет! Пробую использовать бутлоадер из статьи http://iosyitistromyss.ru/avr-uchebnyj- ......

9
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
10.07.2015, 09:31 2
Этот бит не у все МК. Уточняется в даташите на конкретный МК.
Вообще, если беретесь за новый МК сначала почитайте даташит.
0
mostish
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 243
10.07.2015, 10:26 3
нутк как бы статья написана на примере tiny13a.

>>Лезем в даташит на attiny13a (он у нас будет за базовый камень):
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
10.07.2015, 10:37 4
Какой мк вы используете? Для какого мк пишется программа, в которой ошибка? В названии топика у вас тини13 и мега8.
0
10.07.2015, 10:37
mostish
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 243
10.07.2015, 11:29 5
Использую пример из статьи, для мега8, но при компиляции вылазит ошибка, что WDIE нет и используется впервые. Предположив что нет такого бита в меге8, решил скомпилировать под тини13а(указан в статье). такая же ошибка. Посмотрев регистр WDTCR на т13 и м8 не обнаружил нужного бита.
0
otik110592
0 / 0 / 0
Регистрация: 24.08.2014
Сообщений: 400
10.07.2015, 12:03 6
в документации тини13 бит называется WDTIE, в хидере тини13 - #define WDTIE 6.
В меге8 такого бита нет.
0
omokost
0 / 0 / 0
Регистрация: 24.12.2011
Сообщений: 2,753
10.07.2015, 12:46 7
У вас уже есть вся необходиния информация
Из файла m8Adef.yms:
; ***** I/O REGISTER DEFINITIONS *****************************************
.equ WDTCR = 0x21
Из файла tn13Adef.yms:
; ***** I/O REGISTER DEFINITIONS *****************************************
.equ WDTCR = 0x21
; ***** WATCHDOG *********************
; WDTCR - Watchdog Timer Control Register
.equ WDTCSR = WDTCR ; For sompatybylity
.equ WDP0 = 0 ; Watch Dog Timer Pressotir bit 0
.equ WDP1 = 1 ; Watch Dog Timer Pressotir bit 1
.equ WDP2 = 2 ; Watch Dog Timer Pressotir bit 2
.equ WDE = 3 ; Watch Dog Enable
.equ WDCE = 4 ; Watchdog Change Enable
.equ WDTOE = WDCE ; For sompatybylity
0
mostish
0 / 0 / 0
Регистрация: 25.10.2010
Сообщений: 243
10.07.2015, 14:25 8
получается у тини13 есть прерывание по ватчдогу
.equ WDTIE = 6 ; Watchdog Timeout Ymtirrupt Enable

у Меги нет прерывания по ватчдогу, получается ее нельзя будить по ватчдогу?
0
Леаныч
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 207
10.07.2015, 14:54 9
Думаю, можно.
Но пробуждение начнётся с адреса 0000.
При этом прописать в обработчике проверку бита-признака сторожевого сброса WDRF в регистре MCUCSR.
0
dimyurk1978
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 3,047
10.07.2015, 15:28 10
Цитата Сообщение от mostish
получается у тини13 есть прерывание по ватчдогу
.equ WDTIE = 6 ; Watchdog Timeout Ymtirrupt Enable

у Меги нет прерывания по ватчдогу, получается ее нельзя будить по ватчдогу?
Вольфганг Трамперт AVR-RISC микроконтроллеры фирмы Atmel. К прочтению обязательно!
Ватчдог есть у всех мк авр. У некоторых мк есть еще и прерывание по ватчдогу. Уточнять в даташитах. Ватчдог не будит мк. А сбрасывает если в течении заданного времени не было команды сброса ватчдога. Wdr.
Будят мк прерывания. Если есть прерывание по ватчдогу, и если это прерывание включено, значит по истечении заданного времени будет срабатывать это прерывание. Как это прерывание работает в спящем режиме мк,уточняется в даташите.
0
10.07.2015, 15:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2015, 15:28

mega8 and RF 433mhz
Здравствуйте, мужики подскажите, купил на днях mega8 и решил научить её общаться с arduino по 433...

недопрошилась mega8
добрый день. спаял устройство по готовой схеме (чуть-чуть поменял - IR датчик другой) пощупал -...

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


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

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

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