[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
СмотрИте - у Вас в компе есть физическое устройство - 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