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


Автор: WIN32API 2.4.2006, 14:10
Здравствуйте, уважаемые программеры. У меня вопрос для тех, кто знаком с портами и электроникой. Я хотел бы реализовать программное управление устройствами через LPT-порт. Как мы знаем, LPT-порт содержит выводы 2-9 (DATA 1-8), которые могут содержать логическую единицу или нуль (т.е. положительное напряжение или нуль). Вопрос в том, как подавать/оключать/читать на эти выводы LPT-порта это напряжение? На данный момент у меня подключены светодиоды к выводам 2-9 LPT-порта через сопротивление 160 Ом:

LPT
/-\ 160 Om светодиод
| | ____
| |- 2 -|____|----|<|----|| общий
| |- 3
| |- 4
| |- 5
| |- 6 ...
| |- 7
| |- 8
| |- 9
| |
| |
| |- 25 --|| общий
\-/

Помогите с реализацией программы для зажигания и гашения светодиодов на каждом выводе порта. Также хочу заметить, что с работай с портами я полный дуб. Да и порт не хотелось бы своими экспериментами спалить...

Автор: Albinos_x 2.4.2006, 15:19
поиск... не раз обсуждалось:
http://forum.vingrad.ru/index.php?showtopic=20791&hl=lpt
http://forum.vingrad.ru/index.php?showtopic=64995&hl=lpt
http://forum.vingrad.ru/index.php?showtopic=57681&hl=lpt
http://forum.vingrad.ru/index.php?showtopic=37449&hl=lpt
http://forum.vingrad.ru/index.php?showtopic=31318&hl=

Автор: WIN32API 2.4.2006, 17:20
Большое спасибо!

Автор: WIN32API 7.4.2006, 18:59
Ребята, помогите разобрать еще одну штуку. При включении питания компьютера (во время загрузки ОС) напряжение на выводах 2-9 LPT-порта прыгает, т.е. с логического нуля на единицу и наоборот. Как при загрзки компьютера можно выставить нуль или единицу на этих выводах?

Автор: Snowy 8.4.2006, 07:24
Никак. Винда тестирует устройства. Этого ей не запретишь...

Автор: WIN32API 8.4.2006, 07:59
Ну так что, что винда тестирует устройства? Я уверен, что это можно реализовать элетронным методом! Жаль, что я плохо знаком с работой портов на уровне электроники, а документации добротной в инете просто нет. Данный мой вопрос скорее для электронщиков, чем программерам...

Автор: Slaad 9.4.2006, 12:38
М.Гук - "Аппаратные средства IBM PC" наверняка где-то скачать можно.
А документации и описаний на английском в сети просто тьма.
Проблема заключается не в том как работают порты на уровне электроники, а в том что ХР блокирует прямой доступ к ним и оставляет в наше распоряжение только жалкие функции Win API.
Я написал недавно программу считывания состояния пина в асинхронном режиме но это было для серийного порта и работает только с CTS или DSR. Могу поделиться если интересно.

Автор: Romikgy 10.4.2006, 12:35
Цитата(WIN32API @ 8.4.2006, 06:59 Найти цитируемый пост)
уверен, что это можно реализовать элетронным методом!

Что именно ты хочешь реализовать эл. способом???
Запрет винды на тест присутствия оборудывания?

Автор: Dias2004 5.5.2006, 11:03
Полное управление LPT портом позволяет (в т.ч. в XP) драйвер lptwdmio.
Пример проекта: http://pccontrol.bib.com.ua/XpCoding/Shablon_XP.html

Еще вариант (буквально только что испытал под Delphi7 на мультипортовой LPT карте - работает) - компонент SmallPort.
 

Автор: djmix777 28.8.2006, 13:31
Цитата(Dias2004 @ 5.5.2006,  11:03)
Полное управление LPT портом позволяет (в т.ч. в XP) драйвер lptwdmio.
Пример проекта: http://pccontrol.bib.com.ua/XpCoding/Shablon_XP.html

Еще вариант (буквально только что испытал под Delphi7 на мультипортовой LPT карте - работает) - компонент SmallPort.

ссылочка не работает.

Автор: Mr.Floppy 11.3.2007, 19:26
Цитата(djmix777 @ 28.8.2006,  14:31)
ссылочка не работает.

Сама страница:
http://web.archive.org/web/20060503165824/http://pccontrol.bib.com.ua/XpCoding/Shablon_XP.html

Shablon_XP.zip
http://ishodniki.ru/base/users/7113.zip

Автор: Albinos_x 11.3.2007, 22:17
в указанных мной ссылах есть драйвер, и программа пример по работе с этим драйвером и портом...

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