Показать сообщение отдельно
Старый 21.12.2012, 23:46   #179
Александр
Администратор
 
Аватар для Александр
 
Регистрация: 25.02.2010
Адрес: Латвия, Сигулда
Сообщений: 820
Вес репутации: 10
Александр на пути к лучшему
По умолчанию

Можно и без прерываний обойтись для измерения длительности. Тогда будет сэкономлен таймер для лишнего канала ШИМ. В Баскоме есть очень удобный оператор для этого дела - "Pulsein". Я им вовсю пользуюсь и скорости проца мне хватает. Я измеряю не весь период, а только его половину. Ещё есть оператор "Bitwait". Для любителей ловли импульса заданной полярности. Вместе они выглядят, например, так:

Dim P As Word ' переменная для длительности импульса
Bitwait Pinc.4 , Set 'ждём, пока бит 4 порта С станет 1.
Pulsein P , Pinc , 4 , 1 'длительность импульса фронт - спад

Очень рекомендую снабжать текст программы подробными комментариями. Это очень пригодится в дальнейшем. И это является хорошим тоном в программировании. Кто-то из великих мира компьютеров когда-то давно сказал так: "Отсутствие комментариев в программе является достаточным основанием для увольнения программиста."
Александр вне форума   Ответить с цитированием