roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 05:15

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Ложное срабатывание INT0 на AVR
СообщениеДобавлено: 10 мар 2015, 11:16 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2010, 13:56
Сообщения: 995
Откуда: Нижний Новгород
прог. языки: С, С++, РНР
Ситуация
Есть обработчик INT0 по любому изменению фронта.
- внутри я определяю что произошло нужное мне событие (оно на восходящем фронте + доп. условия).
- дальше идет обмен данными по тому-же пину что INT0 внутри обработчика
- дальше жду высокого уровня на пине
- выхожу из обработчика

и тут ПРОБЛЕМА

тут же происходит повторное прерывание INT0 с высоким уровнем на пине.

А его не должно быть, я выхожу из обработчика с высоким уровнем и никакого восходящего фронта быть не должно.

Внутри обработчика прерывания запрещены, в это время возникает куча восходящих и нисходящих фронтов, и где-то ставится флаг, что прерывание должно произойти, но не происходит из за запрета. А как только разрешается, тут же оно и приходит. ВОПРОС: Какой флаг нужно сбросить в конце моего обработчика, чтоб после его окончания не происходило прерывание на то, что уже закончилось?

Надеюсь понятно объяснил. МК ATmega32 если это важно, но я так понимаю для любых AVR оно одинаково.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ложное срабатывание INT0 на AVR
СообщениеДобавлено: 10 мар 2015, 12:02 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
gifr


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ложное срабатывание INT0 на AVR
СообщениеДобавлено: 10 мар 2015, 22:38 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Добавлю лишь, что флаг сбрасывается записью единички (как это ни парадоксально).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ложное срабатывание INT0 на AVR
СообщениеДобавлено: 11 мар 2015, 00:03 
Не в сети
Аватара пользователя

Зарегистрирован: 18 апр 2009, 22:18
Сообщения: 10668
в чём парадокс? как посчитали удобным, так и сделали. :) так часто делают, поищите "write 1 to clear bit".


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO