Показать сообщение отдельно
Непрочитано 26.04.2011, 20:50  
CodeNameHawk
Вид на жительство
 
Регистрация: 21.10.2009
Сообщений: 343
Сказал спасибо: 181
Сказали Спасибо 64 раз(а) в 56 сообщении(ях)
CodeNameHawk на пути к лучшему
По умолчанию Re: Скоректируйте программу частотомера

Сообщение от begun Посмотреть сообщение
Я пытался разобраться в чужих программах ,но вобщем то, не очень легко получается ,особенно если и к тому, коментариев мало.
Но из Ваших пожелании мне в урок, что некорректно в прерывании переполнения считать .
Мне бы хотелось услышать от Вас пару слов на сщет двух препывании.
Они друг другу мешать не будут. Так можно сделать?, или чтото надо при этом учесть ?
Спасибо.
Вы считаете количество импульсов за 1 сек,
попробуйте измерить время необходимое для принятия N импульсов.
Это увеличит точность измерений. Все это можете сделать на таймерах или например так
Цитата:
Сделайте простую программу без прерываний по следующему алгоритму.

1) Проверить, что уровень входного сигнала нулевой. Если нет, то подождать.

2) Дождаться перехода входного сигнала из 0 в 1. Запустить таймер. Обнулить счётчик периодов M.

3) Дождаться перехода входного сигнала из 1 в 0.

4) Дождаться перехода входного сигнала из 0 в 1. Инкрементировать счётчик периодов M.

5) Если количество периодов равно заданному, остановить таймер. Если нет, перейти к п. 3.

6) Взять значение таймера N и вычислить период по формуле Tx=To*N/M.
Это совет =GM= от 2007 года.

Последний раз редактировалось CodeNameHawk; 26.04.2011 в 20:54.
CodeNameHawk вне форума  
Сказали "Спасибо" CodeNameHawk
begun (06.05.2011)