Multi-Set.ru - Форум - Показать сообщение отдельно - KIA RIO JB FL
Тема: KIA RIO JB FL
Показать сообщение отдельно
  #21  
Старый 17.12.2013, 10:03
Iguana Iguana вне форума
Заблокирован
 
Регистрация: 14.05.2012
Адрес: Kiev
Сообщения: 120
По умолчанию

Цитата:
Сообщение от Slymas
Просто все измерения делаются в прерывании и поэтому алгоритм измерения должен уместиться в определенный промежуток времени.
Если же добавить измерение частоты, анализ отсутствия импульсов, передачу данных в основную программу, то можно не успеть и тогда остается два варианта: брать контроллер побыстрее или все оставить как и есть. Либо извращаться пытаясь оптимизировать алгоритм для оптимизации по времени.
Вопрос стоял нужны ли эти заморочки вообще?
Так я Вам о алгоритме измерения и говорю:
- в таймерном прерывании, которое вызывается через определенную еденицу времени, счетчик увеличивается на единицу и после увеличения проверяется на переполнение, если переполнение есть - все сбрасывается в ноль (превышен интервал измерения - значит входных импульсов нет), если переполнения нет, то проверятся бит "окончания счета" (или состояние вывода - без разницы) и по этому биту копируется значение счётчика в переменную...
ВСЁ, больше в прерывании ничего делать не надо, все необходимые вычисления производятся в основной программе (или в подпрограмме индикации), когда времени "вагон и маленькая тележка".
При измерении оборотов двигателя, частоту измерять не обязательно - достаточно измерять интервал между началами импульсов...

Добавлено через 5 минут
Slymas,
а какую "однокристалку" Вы используете в своём БК??
Ответить с цитированием