[an error occurred while processing this directive] [an error occurred while processing this directive]
Для того, чтобы попить пива, не обязательно покупать всю пивоварню
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Black Eagle 19 декабря 2001 г. 14:34
В ответ на: Резюме? отправлено VR 19 декабря 2001 г. 14:04

СмотрИте - у Вас в компе есть физическое устройство - UART типа 16552/62/750 etc. Его внешние концы посредством переключателя (BIOS Setup) выводятся либо на преобразователи уровня RS232 и разъем (в ноутбуках его просто нет), либо на формирователь/приемник IR, который всего-навсего преобразует ИК<->ТТЛ по примитивному (SIR) принципу - вместо посылаемой/принимаемой непрерывной единицы шлет/принимает короткие (3/16 tbit или 1.6 мкс) импульсы в каждом битовом интервале (при приеме работает как перезапускаемый одновибратор на tbit).

При загрузке винда учитывает PnP DeviceID и пытается навесить соответствующие VxD на каждое из них. Если винду проинструктировать соответствующим образом, то на Ваш СОМ-порт будет навешен только UARTотвский кусок виндового VCOMM. После этого Ваш порт будет доступен из стандартных функций API (через VCOMM), нужно только исключить тупость Hardware Flow Control, т.е. DTR/DSR/CTS/RTS, т.к. они никуда не подключены, а из Line/Modem Control Registers эти биты никто не убирал. Дальше - не вижу никаких проблем, собственно.

Ну, а если хотите работать по полноценному IrDA (что, понятно, гораздо удобнее - отслеживается наличие удаленного устройства, корректируются искаженные пакеты и т.д.) - посмотрите на сайте Scenix (Ubicom) полную реализацию этого добра на их SX-е (даю ссылку).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru