Спасибо за подсказки. Изменить схему подключения к сожалению нельзя (хотя очень хочется). Я пишу на ассемблере. Думаю, что выдержать временные циклы будет не так сложно, ведь известно сколько тактов занимает та или иная инструкция, а частота тактирования мне известна. Есть другой камень преткновения: физический принцип работы инфракрасного канала. Мне необходимо организовать обмен на скорости 9600 бит/с, без проверки на четность/нечетность, 1 стоп-бит. Подскажите, правильно ли я рассуждаю. 1. Чтобы передать байт, надо кроме 8 бит данных передавать старт и стоп биты. 2. Старт бит - это 1, стоп бит - это 0. 3. Передача 1 по инфракрасному каналу - это отсутствие импульса, передача 0 это наличие импульса. 4. Длительность импульса должна быть 3/16 от времени, приходящегося на передачу 1 бита на скорости 9600. 5. Длительность передачи 1 бита: 1 / 9600 = 0,0001 с; длительность импульса: 0,0001 * 3 / 16 = 0,00002 с. 6. Импульс должен произойти в любом месте отрезка времени передачи бита.
|