> Таймер1 в Atmega8, Прерывания

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
kapitaneo
Родился
Сообщения: 15
Зарегистрирован: Пн ноя 23, 2009 13:19:17

> Таймер1 в Atmega8, Прерывания

Сообщение kapitaneo »

Здравствуйте. Помогите разобраться, что неправильно? Не получается получить прерывания по переполнению.
Пишу в codevision. Проверяю в протэусе. Программа прилагается.

Я на вход таймера PIND.5(Т1)
подаю импульсы и использую Т1 pin Rising Edge, тактируется от внешнего генератора, подключенного к выводу Т1, по нарастающему фронту поэтому TCCR1B=0x07. После отсчета 21 импульса (TCNT1=n1,n2) по переполнению должно идти прерывание. И вот следующий импульс делить на два импульса (для этого и задержки). Интересно вот, что нулевой таймер работает нормально, а первый, ГАДЮКА, нет. А мне нужны они оба.
КАК ЗАПУСТИТЬ?

ЗАРАНЕЕ ВСЕМ СПАСИБО.
Вложения
t1.txt
(1.62 КБ) 234 скачивания
Аватара пользователя
Danko
Сверлит текстолит когтями
Сообщения: 1287
Зарегистрирован: Пн окт 13, 2008 11:45:54
Откуда: РФ, Крым, г.Бахчисарай
Контактная информация:

Сообщение Danko »

Первое:

Код: Выделить всё

 if((PIND.3==0)&(PIND.0==1)&(PIND.1==1)&(PIND.2==1))
побитовое И (&) и логическое И (&&) разные вещи.

второе: вышеуказанное условие у Вас крутится в бесконечном цикле т.е. при выполнении одного из ваших условий произойдет либо остановка (TIMSK=0x00;) либо запуск таймера (TIMSK=0x05;)

И т.к. бесконечный цикл крутится гораздо быстрее, чем обрабатывается прерывание будет достаточно короткого импульса на (PIND.3==1) что бы остановить таймер т.е. таймер будет стопорится быстрее, чем запускаться.

Возможно ошибку вносит Ваша хитрая коммутация входов-выходов.

Это лишь предварительный анализ Вашего кода.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»