Какая юзер мода, когда работа идет из ядра ОС через родной драйвер Винды. Вы в этом похоже не разбираетесь совсем. Товарищ Вы о чем? я говорю о работе Windows драйвера ECP (простите за привычное LPT), просто физически тот-же разъем.
Это вы ноль в теме о LPT. Что бы с эмулировать к примеру программно шину SPI на порту MiltiIO "LPT" GPIO, необходимо иметь прямой доступ к портам, а именно 0x378h и 0x379h где 378 на запись, 379 на чтение.
Просто так Windows из режима user mode не разрешит инструкции in и out, для этого нужен драйвер, который откроет дыру для программы.
Я же по русски говорил, обращаемся за сервисом к Windows драйверу (РОДНОМУ в каждой версии Windows есть из коробки) режима ECP DMA и чтобы работало нужно: Секрет прост. При работе посредством CreateFile(), WriteFile() есть одна особенность. Устройство, подключенное к LPT должно сбрасывать в 0 линии ОШИБКА и КОНЕЦ БУМАГИ. Иначе будет висеть. Соединить линию PeriphAck (11) и AckReverse (12) с общим проводом (20). HostClk (1) соединить с PerifClk (10).
P.S. Просто Вам трудно поверить, что родной, из коробки, драйвер Windows,
Секрет прост, учить мат. часть и проверить что происходит с портом LPT, когда родной из коробки драйвер дрыгает раз несколько в секунд
самостоятельно ноги Mio LPT изменяя их состояние.
умеет 4 мегагерца Х 8 бит без разрывов
Реальная скорость при обращение к порту с помощью инструкций in/out 1 МHz не выше.