Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Не могу отправить данные в LPT, помогите


Автор: NikolayKr 17.8.2006, 21:39
Может кто - нибуть подсказать в чем проблема?
Нашел кучу литературы по LPT -порту, подключил светодиод к выходам
LPT- порта, пытаюсь отправить данные - не хочет.
Попробывал копировать текстовый файл в LPT1 (ну типа распечатать) - 
результат тот-же, но при подключенном принтере на LPT1 все работает,
как будто проверяет есть там принтер или нет.
Подскажите, как отправить данные в LPT без подключенного принтера

Автор: Albinos_x 17.8.2006, 22:23
значит не правильно подключил...

Автор: NikolayKr 18.8.2006, 07:20
В том-то и проблема, что когда к LPT порту подключен принтер, 
данные в порт записываються, а когда только светодиод(или вообще ничего нет), комп о чем-то
задумываеться и молчит, хотя с COM портом таких проблем нет.
Подскажите как подключить светодиоды, чтобы данные записывались 
в порт.

Автор: Dias2004 18.8.2006, 07:45
Скорее всего под Winows установленный драйвер обеспечивает вовсе не запись/чтение в LPT, а целый сеанс обмена с принтером через LPT. Если принтера нет, то нет и ответа от него, поэтому сеанс (отправка данных) не начинается.

Чтобы произвольно управлять битами LPT-порта, нужен специальный (не принтерный) драйвер.
Если под Windows XP - могу подробно проконсультировать.

Автор: xelax 18.8.2006, 16:25
Может проблема не в Дельфи... :-))) Токозадающие резисторы правильно подобрал?  smile 

Автор: NikolayKr 18.8.2006, 17:45
Цитата(Dias2004 @  18.8.2006,  07:45 Найти цитируемый пост)
Если под Windows XP - могу подробно проконсультировать.


буду очень благодарен


Цитата(xelax @  18.8.2006,  16:25 Найти цитируемый пост)
Может проблема не в Дельфи... :-))) Токозадающие резисторы правильно подобрал?


240 Ом (причем на некоторых выводах светяться ярко, видать на тех, 
на которых есть сигнал, а на других слабо )

Автор: AJIeKcEu 21.8.2006, 14:32
smile  smile  smile  smile  smile 


легко...

на делфи .. с использованием ассемблерной вставки:

Код

var

begin

                  asm
         mov al,00000010b   
         mov dx,378h
         out al,dx

                  end;

end;



Ваще стучись в асю.. разрулю...

(Это под ХР не работает, там прямого доступа к памяти нету (к портам))

Добавлено @ 14:33 
.. там порты учитываются (РС,РУ и еще 1)
а адрес 378h

Автор: Dias2004 22.8.2006, 07:06
Для экспериментов под XP поставь монитор LPT порта, который можно взять по адресу http://valery-us4leh.narod.ru/
Нужно скачать два файла -  xlpt.exe и lptwdmio.sys, сложить их в один каталог и запустить.

Для индикации состояния бита порта можно использовать светодиодный пробник с токоограничительным резистором. Можно и 240 Ом, можно и 1 кОм - свечение все равно будет заметно, только полярность нужно соблюдать.

Все это попробуй, потом задай вопросы - если будут.

Автор: Albinos_x 22.8.2006, 10:35
вот тебе рабочий пример работы с портом

Автор: NikolayKr 26.8.2006, 08:14
Albinos_x,  Спасибо, пример очень помог

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)