Вопрос по сторожевому псу
|
|
sherman | Дата: Среда, 02.05.2012, 15:26 | Сообщение # 1 |
Группа: Проверенные
Сообщений: 55
Статус: Offline
| Заинтересовался возможностью микроконтроллеров уходить в сон и будить себя самостоятельно. Про энергосберегающие режимы все понятно, а как настроить watchdog?
|
|
| |
exersizze | Дата: Среда, 02.05.2012, 15:49 | Сообщение # 2 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| разбудить не сложнее чем усыпить из настроек ватчдога только время через которое он срабатывает Code Config Watchdog = 2048 цифра это время в миллисекундах, можно еще ставить 16, 32, 64, 128, 256, 512 или 1024 а в программе просто не забываешь сбрасывать таймер командой Reset Watchdog
|
|
| |
sherman | Дата: Среда, 02.05.2012, 15:59 | Сообщение # 3 |
Группа: Проверенные
Сообщений: 55
Статус: Offline
| Получается что будет просыпаться через 2 сек?? Мало, батарейки быстро сожрет. Просто обдумываю устройство которое должно следить за какими либо параметрами (температура/влажность/концентрация газа), раз в пару минут опрашиваются датчики (если повышенные показания-тревога), а в остально время все спят. Чаще опрашивать смысла все равно нет. Может есть дугие способы организовать такой большой промежуток с минимальными затратами?
Сообщение отредактировал sherman - Среда, 02.05.2012, 16:02 |
|
| |
exersizze | Дата: Среда, 02.05.2012, 16:19 | Сообщение # 4 |
Группа: Администраторы
Сообщений: 723
Статус: Offline
| Глянул хэлп баскома - у новых atmega48/88/168 сторожевой таймер может считать уже до 8 секунд. Можно чтобы 16и битный таймер будил микроконтроллер (настраивается простое прерывание по таймеру), но тогда нужно будет использовать режим сна, а он прожорливей чем powerdown.
|
|
| |
saschai | Дата: Четверг, 03.05.2012, 10:17 | Сообщение # 5 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| У сторожевого таймера, скажем так, задача несколько обратная заявленному, те наоборот не дать зависнуть МК, вернее перезагрузить его при зависании, очень полезная весчь , организация ухода в сон решается, понятно, очень легко, возможные вариант, по кнопке, по таймеру, из тела программы например по окончанию какого то действа, тут уже только от фантазии зависит, а вот выход МК от туда решается задействованием прерывания можно сбросом, если необходимо опрашивать внешние датчики через опр. промежуток времени, необходимо использовать таймер. Хотя идея с перезагрузкой МК по сторожевому таймеру тоже имеет право на жизнь , получится цикл включили, померил, завис, сбросился померил, завис, сбр.... но к сожалению, после сброса, не останутся данные предыдущих включений, потрутся, можно конечно их куда то отсылать, в общем все зависит от тех задания
|
|
| |
sherman | Дата: Четверг, 03.05.2012, 11:55 | Сообщение # 6 |
Группа: Проверенные
Сообщений: 55
Статус: Offline
| В том вся соль чтобы пес будил микроконтроллер, он вроде потребляет мизер и он способен вывести микроконтроллер из режима Powerdown без учатия внешних элементов, такая получается система в себе)) а за сохранение данных не беспокоюсь, главная задача просто посмотреть измеренные параметры и сравнить их с заданными пределами.
|
|
| |