Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Mega8 ICP
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Exstreem
Зравствуйте.
Программирую Mega8, и возникла проблема. Не получается сменить фронт импульса на контакте ICP во время работы прерываний. В даташите написано, что нужно сбросить в TIFR галочку. Делаю все по правилиам, в AVR Studio все работает, а залив в МК не работает. Для проверки добавил строки, что бы при одном фронте светодид загорался, при втором - гас. И получается, что МК будто не видит этот код программы, но в прирывания заходит (добавил код для другого светодиода).
Может кто знает как это решается.
smac
Цитата(Exstreem @ Feb 5 2009, 12:24) *
...
Программирую Mega8, и возникла проблема. Не получается сменить фронт импульса на контакте ICP во время работы прерываний. В даташите написано, что нужно сбросить в TIFR галочку.
...

В каком еще TIFR?! Чтобы сменить фронт нужно изменить бит ICES1 в регистре TCCR1B, а в TIFR флаг прерываний нужно сбрасывать, если запрос обрабатывается не в обработчике прерывания т. е. переход по вектору прерывания не выполняется.
Exstreem
То что нужно поставить/снять галочку ICES1 это понятно. А вот ICF1 в TIFR, как я понял из сказанного, надо снять не в прерывании, а после завершения. Спасибо, попробую.
smac
Цитата(Exstreem @ Feb 6 2009, 10:11) *
То что нужно поставить/снять галочку ICES1 это понятно. А вот ICF1 в TIFR, как я понял из сказанного, надо снять не в прерывании, а после завершения. Спасибо, попробую.


Если вы обрабатываете захват в обработчике прерывания, то ICF1 в TIFR снимать не обязательно, от сам очистится при выполнении обработчика, а вот если вы не используете прерывания, то нужно его сбрасывать программно.
Также атмел рекоммендует сбрасывать ICF1 после смены источкика захвата (компаратор или пин ICP1), поскольку во время смены источкика может выставиться флаг ICF1.
Ну и на всякий случай, флаги прерываний сбрасываются записью 1.
Exstreem
Спасибо, smac .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.