реклама на сайте
подробности

 
 
> Несколько прерываний, Как разрулить?
Ruffian
сообщение Mar 30 2011, 12:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 4-03-11
Пользователь №: 63 397



Нужно ловить два сигнала от датчиков (для простоты прямоугольные).
Первый сигнал нужно измерить его длительность.
Для второго сигнала просто считать количество (при каждом импульсе инкремент некоей переменной).
Решил повесить эти два сигнала на INT0 и INT1. Но как разрулить - не пойму.
Если по INT0 начинать считать длительность, то для этого нужен ещё и таймер. Значит третье прерывание добавляется. А что будет, если придет прерывание INT1?
В общем каша образовалась.
Может проще сделать вообще без прерываний, тупо в цикле опрашивать порт и смотреть, появились импульсы или нет и реагировать, если они появились?
Что посоветуете?

Сообщение отредактировал Ruffian - Mar 30 2011, 12:13
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ruffian
сообщение Mar 30 2011, 20:54
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 4-03-11
Пользователь №: 63 397



Да, очепятка.
Правда это ничего не меняет. Прерывание срабатывает только раз
Go to the top of the page
 
+Quote Post
nk@
сообщение Mar 31 2011, 04:03
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 78
Регистрация: 8-12-09
Пользователь №: 54 138



Цитата(Ruffian @ Mar 30 2011, 23:54) *
Да, очепятка.
Правда это ничего не меняет. Прерывание срабатывает только раз

Важное уточнение требуется. С каким периодом и с какой скважностью у Вас импульсы идут? Чтоб захват сигнала работал корректно, нужно, чтоб частота захватываемых импульсов была как минимум в 2 раза меньше тактовой частоты AVR.

Сообщение отредактировал nk@ - Mar 31 2011, 04:04
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 01:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016