Запись в параллельный порт на Windows 7 - PullRequest
3 голосов
/ 06 октября 2011

Я пытаюсь выяснить, как получить доступ к параллельному порту для записи некоторых битов на машине с Windows7. Этот параллельный порт расположен на PCI-карте и автоматически устанавливается Windows7 и может контролироваться как LPT2. Адреса, присвоенные порту Е800-Е807 и E480-E487 , Это выглядит как непсихические адреса. Я уже пробовал разные способы записи в порт, например, используя inpout32.dll из http://www.logix4u.net/inpout32.htm или parport.dll в качестве решения Java. Чтобы освободить эти порты, я установил Userport, но я думаю, что с помощью этого приложения можно освободить только реальные физические порты. Итак, как я могу изменить адрес порта, например, 378, или заставить мое приложение писать на виртуальный адрес с помощью inpout32.dll?

Я уже попробовал некоторые google-found-advices, такие как отключение адреса 378 в BIOS, чтобы он был «бесплатным» для использования PCI-картой. Или как переключение между назначением на LPT1, LPT2, LPT3, но, похоже, ничего не работает.

РЕДАКТИРОВАТЬ: Может быть, кто-то знает конкретный драйвер для этой PCI-карты, так что мне не нужно использовать драйвер по умолчанию? Это: http://www.delock.de/produkte/gruppen/IO+Karten/1x_Parallel_UND_2x_Seriell_-_PCI_Karte_89004.html

1 Ответ

0 голосов
/ 09 мая 2014

E800-E807 и E480-E487 являются 16-разрядными адресами ввода-вывода. Таким образом, вы можете использовать инструментарий типа WinIO для чтения / записи. Обратите внимание, что, поскольку это устройство PCI, адреса ввода-вывода назначаются динамически при загрузке и могут измениться в любое время. Хорошо написанная программа спросит Windows, каков адрес ввода / вывода карты, и использует его вместо жесткого кодирования.

...