Текущий архив: 2003.02.17;
Скачать: CL | DM;
ВнизРабота с LPT в Niblle Mode - драйвер или... Найти похожие ветки
← →
DC-AC (2002-12-15 08:31) [0]Вопрос к тем, кто "серьёзно" работал с LPT и немного в курсе про Nibble Mode LPT-порта (получение информации от принтера по четырём линиям BUSY,PE,SELECT,nERROR). LPT-порт юзается через WinAPI (CreateFile(),ReadFile(),WriteFile()). На принтер выдаётся последовательность байт. Если принтер может ответить в обычном двунаправленном режимe (например DeviceIoControl(hPort,$11,nil,0,@IDBuffer,256,NumberOfBytes,nil)) то всё без проблем. Но на некоторые команды принтер отвечает в Nibble Mode (причём я даже вижу этот ответ при мониторинге обмена специальной платой). И как прочитать ответ в своей программе ? Насколько я понимаю SetCommMask() есть только для COM-порта. Только писать драйвер ? Или есть другие пути ?
← →
ssm (2002-12-15 17:38) [1]vxd писать надобно...
в win95-me можно работать с портом напрямую,
и еще есть такая штука - WinDriver кажется что-то типа конструктора драйверов.
← →
DC-AC (2002-12-16 07:18) [2]То что можно работать напрямую и при помощи драйверов прямого доступа к портам (дёргать пинами напрямую)- я знаю. Просто не хотелось бы реализовывать lpt.vxd ещё раз, тем более неизвестно, что за процедуры и функции туда входят. Удобно ведь - WriteFile() и не задумываешься о том где там строб а где всё остальное. И DeviceIoControl работает опять же. Кстати, а может быть кто знает ВСЕ коды DeviceIoControl для LPT, а не только $11. Например под W2K задействованы коды $160000-$160030 по-моему. $16000C - назначение известно, а вот остальные ?
И ещё вопрос. Может кто разбирался с исходниками (они на сях) драйвера LPT-порта ieee1284.vxd от Leonid Slobodchikov AKA Curvex ? Ссылки откуда скачал к сожалению не помню, но если надо будет найду.
← →
jonik pegas (2002-12-16 10:02) [3]Стандартный драйвер наверное NibbleMode не поддерживает, по крайней мере в MSDN об этом не сказано. Так что наверное придется делать свой драйвер. Наиболее функциональный драйвер наверное на www.fapo.com, тот поддерживает, но стоимость...
← →
DC-AC (2002-12-16 11:52) [4]Драйвер на fapo - очевидно этот http://www.fapo.com/1284tkit.htm ?
Покупать я конечно вряд ли буду, я не организация и для меня это не дело жизни. Просто интересно сколько он стОит, цены в явном виде я там не нашёл.
А свой драйвер при помощи DDK писать - дело долгое, сначала нужно ещё DDK где-то достать, для меня легче (при помощи например DLPortIO или подобных) реализовать процедуры стандартного ввода-вывода на принтер и процедуру чтения в режиме Nibble. А что DeviceIoControl не будет работать - фиг с ним, например из EPSON-ов можно "вытянуть" DeviceID через тот же Nibble Mode.
Ну раз больше идей нет...
← →
jonik pegas (2002-12-16 12:38) [5]Стоит он несколько килобаксов:).
можно посмотреть на сайт progrex.narod.ru (его автор здесь некоторое время тусовался под ником странный прохожий)-там есть пример драйвера для LPT на асме.
← →
DC-AC (2002-12-16 13:34) [6]LPTWDMIO - чтука интересная... Давно валяется у меня на винте. На днях займусь изучением. И всё-таки попробую CreateFile("LPT1", GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0) и далее GetCommMask(), SetCommMask() может быть получится следить за линиями состояния. Ведь работает же для LPT-порта SetCommTimeouts(), PurgeComm(), TransmitCommChar() !
Страницы: 1 вся ветка
Текущий архив: 2003.02.17;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.01 c