Куда, какая программа, чего будет слать? Ты вообще понимаешь как это работает?
Прочтение М. Гука (Аппаратное обеспечение ИБМ-ПЦ) и Абеля (программирование на ассемблере ИБМ-ПЦ) рекомендуетеся...
Какой, нафиг, виртуальный порт? НЕТ ТАКОГО ПОНЯТИЯ даже. Есть "устройство" в том виде как оно было в древнем ламуксе образца 1970 года. Ничего не изменилось. И только тот функционал который оно даёт через read/write/ioctl доступен прикладным программам. Твои же программы никакой файл не используют, они тупо выполняют mov dx, #0x378 и outb(dx), al. Только это НЕ РАБОТАЕТ ни в одной ОС, без костылей и подпорок разного рода, ибо в защищённом режиме, ну ты уж должен догадываться, outb не вызывает исключение, если только там какие-то биты в дескрипторе сегмента не стоят, только и этого мало... В ламуксе есть /dev/port если что, и также iopl(). В виндах хитрый драйвер как-то эмулирует (отлавливая исключения? не в курсе).
Да, но в том же ламуксе НОРМАЛЬНЫЕ программы лезут в /dev/parport в котором возможность
дёргания ножками просто заложена.
(и я тихо помалкиваю, что 378 или ещё какой порт может образоваться только после конфигурения PCI устройства, а его никто не будет делать ДО загрузки соответствующего драйвера, ну в том же ламуксе, а к драйверу может подтянуться и lpd который будет иметь своё мнение как нужно ножками дёргать, через /dev/lp...)
квартусе и будет мне счастье. Т.е. данные венда будет слать не в свою микросхему, реализующую LPT порт, а в этот контроллер посредством драйвера. У меня уже есть такой конвертер для COM порта (причем того же производителя), и все работает на ура.
Ты точно уверен, что понимаешь как это работает? Deathsoft выше описал почему так.
Т.е. если нет драйвера, позволяющего создать в венде виртуальный LPT порт на основе этого конвертера, то мне он ни к чему, я правильно понял?
Я не разбираюсь в виндах настолько. НО ЧТО ТАКОЕ *ДРАЙВЕР ВИРТУАЛЬНОГО ПОРТА* ???
Что такое вообще порт? \\Device\\LPTxxx наверняка есть (а может так всё плохо, что и действительно нет...) Но туда поток байтов писать положено, а не ножками дёргать. Как-то же
пресловутая libieee<номер забыл> работает. Или она с этим чудом тоже не работает.
Я смутно догадываюсь, deathsoft хотел скаать, что в виндах есть только /dev/lp, а /dev/parport нет. Поэтому и лезут напрямую. /dev/lp только печатать на принтер предназначен (вот т.е. cat file.txt > /dev/lp распечатает файл и будет как положено на каждом байте стробом дёргать и busy проверять).
А /dev/ttySn (ну т.е. \\Device\\COMn) в виндах не только байтики посылать умеет но ещё поменять и считать состояние сигнальных линий через ioctl(), посему напрямую в соответствующий порт микропроцессора никто и не лезет.