AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
02.09.2012, 14:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Сообщение от gruffi
|
Так где может быть ошибка?
|
Х...хороший вопрос...
Проверяй у себя - куда скачет по прерыванию. Хендлер для пустого UDR набросай...
|
|
|
|
02.09.2012, 15:14
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Контроллер правильно указан в студии?
|
|
|
|
02.09.2012, 15:37
|
|
Прописка
Регистрация: 01.02.2012
Сообщений: 131
Сказал спасибо: 9
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Да, правильно - atmega16. Уже все пересмотрел...не хочет срабатывать...и еще вопрос: у меня после запуска таймера перестает работать прерывание INT0, сначала не обратил внимание, а ща заметил, что нет срабатывания после того, как установил флаг enableZeroCross...вернее один раз после этого срабатывает, а после не заходит туда....надеюсь понятно описал . А настройки таймера у меня правильные? Может где-то в настройках накосячил?
|
|
|
|
02.09.2012, 15:43
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
1. Частота прерывания по совпадению должна быть такой, что бы позволить вписаться за период прерывания по Int.
2. Настройка прерывания по совпадению должна происходить один раз. Расположить ее нужно вначале программы. При этом делитель выбрать как ноль. В самом прерывании по Int устанавливать делитель и тем самым включать таймер.
3. В подпрограмме прерывания по совпадению обнулять делитель и таймер.
Желтый импульс - по совпадению. По сишному файлу все поймете.
Сообщение от gruffi
|
у меня после запуска таймера перестает работать прерывание INT0
|
Правильно, ты не выходишь из прерывания по таймеру - увеличь частоту таймера.
Последний раз редактировалось mimuh64; 02.09.2012 в 15:47.
|
|
|
|
02.09.2012, 15:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Сообщение от niXto
|
Контроллер правильно указан в студии?
|
А то!
И самое прикольное - с мегой8535 (с такими же векторами) симулируется нормально, и с мегой16 косяк.
Кстати - ещё один прикол
слева 8535, справа 16
|
|
|
|
02.09.2012, 16:00
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Сообщение от gruffi
|
флаг enableZeroCross...
|
Что за флаг такой в ATmega16?
Сообщение от gruffi
|
А настройки таймера у меня правильные? Может где-то в настройках накосячил?
|
Вроде правильно, CTC работает, но слишком часто.
И что странно что происходит переход на вектор UartDRE. Загадка...
|
|
|
|
02.09.2012, 16:05
|
|
Прописка
Регистрация: 01.02.2012
Сообщений: 131
Сказал спасибо: 9
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Сообщение от _Артём_
|
Сообщение от gruffi Посмотреть сообщение
флаг enableZeroCross...
Что за флаг такой в ATmega16?
|
это у меня флаг перехода через ноль, обычный bool...
|
|
|
|
02.09.2012, 16:06
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
На 16 чипе тоже все работает.
|
|
|
|
02.09.2012, 16:07
|
|
Прописка
Регистрация: 01.02.2012
Сообщений: 131
Сказал спасибо: 9
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
сделал, как посоветовал mimuh64...без изменений...
|
|
|
|
02.09.2012, 16:09
|
|
Прописка
Регистрация: 29.10.2008
Сообщений: 272
Сказал спасибо: 0
Сказали Спасибо 102 раз(а) в 95 сообщении(ях)
|
Re: Прерывание по совпадению таймера 1
Сообщение от gruffi
|
сделал, как посоветовал mimuh64...без изменений...
|
Такого не может быть... Выложи свой ельф и сишник в архиве. Укажи частоту МК и частоту прерываний по совпадению
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Как настроить прерывание от таймера реального времени
|
c04 |
Микроконтроллеры, АЦП, память и т.д |
0 |
25.05.2010 21:19 |
Внешнее прерывание на tiny15
|
livsha |
Микроконтроллеры, АЦП, память и т.д |
8 |
21.04.2010 01:11 |
Странно работает прерывание при совпадении таймера!
|
nagano |
Микроконтроллеры, АЦП, память и т.д |
5 |
18.11.2008 09:35 |
не обрабатывается прерывание от таймера во время АЦП
|
rusakov_a |
Микроконтроллеры, АЦП, память и т.д |
0 |
03.07.2008 01:33 |
Задача - таймер. и прерывание!
|
chipic128 |
Микроконтроллеры, АЦП, память и т.д |
11 |
22.02.2005 18:11 |
Часовой пояс GMT +4, время: 04:41.
|
|