Вопрос такой: Как правильно получать цифровой сигнал?
есть: передатчик (Atmega8 + лазер), при нажатии на кнопку микроконтроллер посылает 5 раз (можно и больше) повторяющийся 13 битный код Баркера (1111100110101), длина импульсов 1 и 0 одинакова (1 милисекунда).
аналогавая часть приемника (фотодиод и операционник) выдает через конденcатор и транзистор на ножку микроконтроллера (тоже Atmega8) кратковременные импульсы (единиц) соответствующие переходу от 0 к 1 передатчика, т.е. приемник (микроконтроллер знает когда начинается 1 у передатчика)
Теперь вопрос такой как правильно получать данные, т.е. в буфере микроконтроллера должен появится код такойже как и в передатчике (1111100110101)
ставить прерывание на ножку по смене уровня, а потом считать время по 1 милисекунде и смотреть состояние что там далее за бит идет и так далее?
или не используя прерывание по смене уровня на ноге а тупо сканировать ногу с паузой в 1 милисекунду?
Как подобные системы вообще реализуются? я новичек в электронике и программировании микроконтроллеров, поэтому если что не так сформулировал, поправте, буду учиться...
|