Работа с LPT

Простейшие вопросы в области инженерной разработки
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Работа с LPT

Сообщение dadreamer »

drom1992, я вам немного неверно подсказал насчёт WinIo64.dll... Оба файла (*.dll и *.sys) должны лежать вместе и рядом с экзешником (labview.exe или скомпилированный экзешник). Например, для 64-битного :labview: и обычного :vi: :
2016-02-15_0-32-40.jpg
И вот тестовая программка для проверки работы драйвера:
LPT.vi
lv2011
(21.18 КБ) 141 скачивание
Сейчас у меня нет физического доступа к LPT, но вроде работает как нужно. По идее должна подхватывать драйвер любой разрядности в обоих режимах IDE - RTE.
drom1992 писал(а):Попробовал inpoutx.dll (скачал отсюда: http://www.highrez.co.uk/downloads/inpout32/). Установил драйвер, через CLFN указал путь к dll. Все завелось с пол-оборота.
Класс, ещё один альтернативный драйвер. :wink: Полезная находка.
drom1992 писал(а):причем не нужно генерить из :vi: .exe
Это только для проверки работоспособности драйвера. Так-то никто не запрещает работать в IDE без всякой компиляции.
dadreamer писал(а):В других IDE, в отличие от LabVIEW, при запуске программы сразу компилируется экзешник, рядом с которым должны лежать всё библиотеки и их зависимости. А здесь в роли экзешника - :labview: .
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Работа с LPT

Сообщение dadreamer »

Кстати, очень неплохая библиотека, этот InpOut32 / InpOutx64. Плюс в том, что драйвер sys встроен в dll, т.е. распространять требуется только один файл (а не два). Ещё один плюс - драйвер уже подписан официальным сертификатом и ставится автоматом, если работаем из-под админа. Потому можно сразу вызывать функции в CLFN и всё будет ок.
Также, что интересно, с помощью этой и остальных подобных библиотек можно напрямую работать с ресурсами ввода-вывода. Например, есть такие старенькие ISA-платы фирмы Advantech, как PCL-730, PCL-733, PCL-734. Базовый адрес ввода-вывода у них задаётся переключателями на самой плате. Так вот, работать с ними проще простого:

Код: Выделить всё

void _stdcall Out32(short PortAddress, short data); //запись данных

Код: Выделить всё

short _stdcall Inp32(short PortAddress); //чтение данных
Очевидно, что в качестве PortAddress задаётся базовый адрес платы. Это работает и на Windows 7 x64, хотя для этой ОС даже нет официального драйвера на такие платы.
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»