Здравствуйте. Начинаю изучать программирование АВР. Задача - сделать суточный таймер. Написано два варианта программы. Оба работают на эмуляторе стабильно и на контроллере при условии что установлены малые промежутки времени либо малые значения предделителя таймера. На больших промежутках времени контроллер не выполняет необходимое действие. Всё время работает и не сбрасывается. Оба задействованых таймера считают. ТС2 в асинхронном режиме от кварца 32768 считает секундные импульсы, передаёт импульсы со своей ноги на входную ногу ТС1, который их подсчитывает. Контроллер на время простоя крутится в замкнутом цикле. Всё перепроверено и, повторюсь, прекрасно работает если задавать время выполнения действия менее 15 мин. Или если ускорить процесс установкой маленького значения предделителя ТС2.
Подскажите в чём может быть загводка??? Почему работающий ТС1 не входит в прерывание по сравнению через 30 и более минут??? Во втором варианте программы не использовалось прерывание от сравнения, каждую секунду считывались показания ТС1 и сравнивались с установленными. Ситуация такая же - если установить 10-15 мин то работает, если более то нет....
Я в панике.
|