Как программно работать с LPT портом?
поищи paraport, например
Я работал с ним из Delphi
сейчас, найду - у себя расшарю
Я работал с ним из Delphi
сейчас, найду - у себя расшарю
ftp://homestead.hackers/setups_m/Paraport
Он устанавливает псевдо-драйвер, через который можно удобно работать непосредственно с каждой ногой LPT-порта
Он устанавливает псевдо-драйвер, через который можно удобно работать непосредственно с каждой ногой LPT-порта
Это COM компонент, иди dll?
Можешь его на форум выложить, а то я не в локалке.
Можешь его на форум выложить, а то я не в локалке.
это Dll.
http://www.paraport.net/
http://www.paraport.net/
Спасибо.
А есть какие-нибудь враперы, позволяющие не устанавливать драйвер, а работать на прямую с LPT?
А есть какие-нибудь враперы, позволяющие не устанавливать драйвер, а работать на прямую с LPT?
Что конкретно тебе нужно сделать с lpt-портом?
Напрямую - только в DOS/Win98.
ну ещё в Linux /dev/lp...
А в остальных NT-based - "DDK в зубы и вперёд!" (c)
ну ещё в Linux /dev/lp...
А в остальных NT-based - "DDK в зубы и вперёд!" (c)
Считать значения с ножек, больше ничего.
Еще желательно, чтобы не было никаких внешних файлов, и ничего не нужно было устанавливать.
Я кое-чего нарыл о функции CreateFile. Но пока еще не нашел достаточного количества информации чтобы ее использовать.
Еще желательно, чтобы не было никаких внешних файлов, и ничего не нужно было устанавливать.
Я кое-чего нарыл о функции CreateFile. Но пока еще не нашел достаточного количества информации чтобы ее использовать.
Не проще ли сделать
int fd = open("LPTx", blablabla);?это не даст считать значение ног
А также всякие хитрые настройки про скорость порта, например.
STROBE
LINEFEED
INIT
SELECTIN
DIRECTION
А также всякие хитрые настройки про скорость порта, например.
Ты так делал? Или предполагаешь, что должно работать?
И можно ли пример программки.
И можно ли пример программки.
так можно писать в порт, но не читать из него.
Мне особые навороты не нужны, достаточно чтения ножек данных.
чем не устраивает враппер?
А можно ли читать с помощью, CreateFile?
Не хотелось бы заниматся установкой. Программа для которой нужно чтение LPT работает без установки.
В общем, повторю:
"DDK в зубы и вперёд" (с)
Установи MSDN (неужели не установлен ?!
) и читай:
Win32 and COM Development -> Driver Development Kit -> Parallel Ports and Devices
"DDK в зубы и вперёд" (с)
Установи MSDN (неужели не установлен ?!
) и читай:Win32 and COM Development -> Driver Development Kit -> Parallel Ports and Devices
Подозреваю, что DDK для данной задачи будет многовато. Сейчас прорабатываю тему CreateFile, вроде инете говорят, что можно ее использовать.
Подсказываю: IoCreateDevice
PS: в DDK про parallel port немного - я уже взботнул.
PS: в DDK про parallel port немного - я уже взботнул.

А тебе один раз данные считать из LPT? = 1байт
Или несколько?
Если несколько - тут надо быть осторожным. дождаться, пока STROBE не сработает - что данные можно считывать.
Или несколько?
Если несколько - тут надо быть осторожным. дождаться, пока STROBE не сработает - что данные можно считывать.
Во чего нашел
http://junglewin.narod.ru/lpt.html
Вот чего там по моей теме:
2.1 Открытие и закрытие порта.
Тут все просто, открываем доступ к устройству. Это осуществляется посредством функции CreateFile c параметром LPTn, где LPTn существующее имя для объекта устройства:
HANDLE hLpt = CreateFile( "LPT1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
0, NULL );
При удачном завершении операции будет возвращен файловый дескриптор, через который мы и будем управлять параллельным портом. Остается только добавить, что после использования следует освободить порт посредством вызова CloseHandle(hLpt).
2.2 Запись данных и чтение
Запись и чтение происходит как при обращении к обычному файлу. Для этого используются функции WriteFile и ReadFile.
http://junglewin.narod.ru/lpt.html
Вот чего там по моей теме:
2.1 Открытие и закрытие порта.
Тут все просто, открываем доступ к устройству. Это осуществляется посредством функции CreateFile c параметром LPTn, где LPTn существующее имя для объекта устройства:
HANDLE hLpt = CreateFile( "LPT1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING,
0, NULL );
При удачном завершении операции будет возвращен файловый дескриптор, через который мы и будем управлять параллельным портом. Остается только добавить, что после использования следует освободить порт посредством вызова CloseHandle(hLpt).
2.2 Запись данных и чтение
Запись и чтение происходит как при обращении к обычному файлу. Для этого используются функции WriteFile и ReadFile.
Это не принципиально. Для меня важно лишь изменеие данных на ножках, дублирование не проблема.
> Считать значения с ножек, больше ничего.
С каких?
Только с data-ножек? или с системных тоже?
если только data, то OpenFile("LPT", ...) и вперед
С каких?
Только с data-ножек? или с системных тоже?
если только data, то OpenFile("LPT", ...) и вперед
Оставить комментарий
Nugos
Работаю в среде Visual Studio C++.