Цитата(rushack @ Oct 29 2010, 19:16)

Решил сделать по принципу пульта, отправляя и принимая пакет импульсов, но встал в тупик...
Ведь в микроконтроллере идёт последовательное выполнение программы, т.е. одновременно отправить и принять данные не получится?
Это почему не получится ? Простейший выход - сделайте обработчик прерывания от таймера, который вызывается достаточно часто. Например, если вы выдаете 1000 импульсов в секунду, то обработчик должен вызываться минимум 2000 раз в секунду (вспомните теорему Котельникова). И в этом обработчике делайте все, т.е., читайте принятые биты и формируйте биты, посылаемые на светодиод. Все просто.
А про коллиматор и триггер вам правильно написали. Еще очень советую посмотреть, как делаются такие вещи, например, в даташите на OPT101 ...
P.S. В том же обработчике можно сделать и подавление помехи ("дребезга") - например, можно игнорировать любые импульсы, продолжающиеся менее, чем "N" вхождений в обработчик прерывания.
Сообщение отредактировал kovigor - Oct 29 2010, 17:42