Предварительный рассказ
Есть эта программа, которая использует параллельный порт для синхронизации с другим оборудованием. Он установит для выхода параллельного порта указанное (байтовое) значение. Это работает без проблем при использовании встроенного параллельного порта ПК. Целевые платформы - от Windows XP до 7, пока все работало нормально. Исходный код находится в Delphi, доступен и может быть изменен.
Как это работает
В Delphi я могу использовать io.dll для установки значения параллельного порта, но есть и другие доступные решения, например inpout32.dll или port.dll . Я вызываю что-то вроде PortOut
, указываю номер порта и значение байта, и порт устанавливается.
То, что я теперь хочу сделать - и где мне нужна помощь
Теперь изменение: это требует для работы на машине без встроенного параллельного порта (даже на материнской плате). Доступно несколько вариантов:
Главный вопрос
Кажется, есть различия между адаптерами параллельного порта, которые предназначены для подключения только принтера, и других адаптеры, которые кажутся более мощными. Есть ли разница? Или я могу просто использовать один из этих 5-долларовых адаптеров для принтера, подключить собственное оборудование и получить доступ к порту из кода Delphi? Или мне нужен специальный переходник? Кто-нибудь сталкивался с этим? Здесь есть связанный вопрос , но различные типы адаптеров (если они существуют) там не упоминаются. Эта страница предполагает, что действительно есть различия:
В отличие от всех других параллельных портов USB, которые могут подключаться только к принтерам, это обеспечивает подключение к большинству оборудования.
Я надеюсь, что существует решение через USB потому что для этого вам не нужно открывать ПК, а это значит, что адаптер может быть добавлен по запросу.
Подвопрос
Есть ли у вас опыт работы с решением PCI (Express)? Я должен использовать один, если подход USB не работает.