Приветствую всех! Начал изучать программирование МК, написал простенькую программку мигания светодиода с помощью задержек - работает... Решил усложнить - сделать тоже самое, но с помощью прерываний от таймера. И стою на одном месте уже 2 недели... Пример реализации взял из книги "CodeVision AVR Пособие для начинающих". Светодиод должен мигать 1 раз в секунду. В итоге получилось: первое и второе прерывания после включения приходят с интервалом чуть больше минуты, остальные - как и должны быть (через 0.5 сек). Так и не могу понять, почему первые 2 прерывания приходят с такими задержками... Попробовал такую же прогу сделать для mega8 - работает без проблем (эмулировал в Proteus).
Помогите - где, что я не так настроил у 169-ой. Прикладываю архив со схемой для Proteus и исходниками CVAVR для mega169 и mega8
Вложения:
Комментарий к файлу: Схема в Proteus и исходники CVAVR Led_Proteus.rar [75.31 КиБ]
Скачиваний: 27
Оба исходника созданы мастером кода CVAVR (и для mega169 и mega8).
Кстати, если в исходниках и протеусе исправить для частоты генератора 8 МГц, то задержка этих 2-х прерываний уменьшается до 12-13 сек (примерно в 8 раз).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения