Доброго времени суток. Хотел разобраться с кодировкой RC-5 (ПДУ Daewoo R-25). Хотел для начало посмотреть действительно ли количество импульсов в одном пакете будет составлять приблизительно число 448. Откудо это число!!!? так как пакет состоит в основном из 14 бит и каждый бит делится на две половинки. Одна из них "пустая" а другая заполнена 32 импульсами частотой 32000 гц. То выходит 14*32=448 импульсов. Так вот, внизу написанный код для подсчёта всех импульсов в этих 14 битах с выводом на специальный светодиодный регистр 16 битный. Так вот, при такой конфигурации "MCUCR |=(0<<ISC01)|(1<<ISC00);" количество импульсов не доходит и до 50, при этом пишу if(f>50). А вот при таком написании "MCUCR |=(0<<ISC01)|(0<<ISC00);" то значение переменной f зашкаливает 1500 импульсов, при этом пишу if(f>1500). Ну последнее понятно, при пустом полубите , за время отсутствия импульсов, обработчик прерывание видит уровень сигнала равной 0 и увеличивает f на очень высокой скорости. А вот при первой настройке INT0, скорости вычисления импульсов такими быстрыми не получаются. Повторного нажатия на пульте одной и тойже кнопки не происходит, успеваю быстро нажать и отпустить. Так что пакет с кодом, бывает практически всегда 1 раз. Вот спрашиваю у знатоков, в чём дело, почему так происходит. Готовые примеры не хочу затрагивать, так как мне самому надо написать декодер. Ну и понять всё нужно самому. Спасибо!
king-live писал(а):Можно по подробнее по поводу огибающей!
Почитать про TSOP17xx http://radiokot.ru/articles/14/
Например TSOP1736, значит частота заполнения 36 кгц, но на её выходе будут только чистые импульсы команды без этого заполнения.
Эти импульсы заполнения нужны только для обеспечения помехоустойчивости оптического канала.
Описание протокола есть здесь: http://digit-el.com/files/open/rc5/rc5.html
Пример декодера на Си для AVR тоже мог бы привести, но Вы сказали, что готовых примеров не хотите.
Что странно к сожалению в этих темах как раз и не написанно было, что приёмник заполняет эти импульсы в 32кгц. И вот теперь другой вопрос, как узнать по какому протоколу работает мой пульт Daewoo R-25. Ведь есть ещё и другие протоколы кодировок Sony, NEC? А то что количество импульсов не доходило и до 50, теперь мне понятно. В среднем с учётом помех их могло быть около 14-15. Это и есть количество бит в пакете. <<при настройке MCUCR |=(0<<ISC01)|(1<<ISC00);>> Я иду в правильном направлении в понимании работы фотоприёмника? Спасибо!
В среднем с учётом помех их могло быть около 14-15.
Я извиняюсь не 14-15 а в среднем 30. Так как 1 импульс состоит из 2 изменений (1 подъём и 1 спад). Так как битов 14, то спадов 14 + подъёмов 14=28+(возможные помехи)=30-32. Это при настройке <<MCUCR |=(0<<ISC01)|(1<<ISC00);>>Вроде так!