Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 00:07   #1
firmwares
Пользователь
 
Регистрация: 12.05.2009
Сообщений: 17
Вопрос Управление программой через LPT порт

Всем доброго времени суток!

Люди добрые помогите!!!

Есть программа и есть кнопка которая вист на LPT
Надо написать программу чтобы при нажатии кнопки висящей на LPT
Производила нажатие кнопки в моей программе!

У кого какие мысли?

Всем заранее большое спасибо!!!!
firmwares вне форума Ответить с цитированием
Старый 07.12.2009, 10:02   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

вы бы поиском воспользовались... вот статья DeKot
вот обсуждение
вот еще обсуждение
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.12.2009, 22:08   #3
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Есть некоторые особенности при чтении входных сигналов.



Проще всего организовать процедуру чтения через таймер.Достаточно выставить интервал в таймере 100 - 200 (т.е. будет производиться опрос входов через каждые 100 - 200 мсек , соответственно)

Код:
procedure TForm1.Timer1Timer(Sender: TObject);
var flag_pressKey: boolean; // флаг, регистрирующий нажатие кнопки S1
begin
  if (Dec_Bin(Inp32($379))[3] = 0) and  (flag_pressKey = false) then {нажата кнопка S1}
  begin
    flag_pressKey:= true; { отметили нажатие S1, что бы при следующем такте таймера не происходил повторный запуск процедуры реакции на нажатие S1 }
    < код процедуры реакции на нажатие кнопки S1>
  end;
   if Dec_Bin(Inp32($379))[3] = 1 then flag_pressKey:= false; {когда кнопка отпущена, сброс флага }
end;
Об операторе Dec_Bin(Inp32($379))[3] = 0 почитайте в статье
работа с LPT портом
И не сомневайся даже ... отдых - кайф, работа - лажа!

Последний раз редактировалось DeKot; 07.12.2009 в 22:12.
DeKot вне форума Ответить с цитированием
Старый 07.12.2009, 22:15   #4
firmwares
Пользователь
 
Регистрация: 12.05.2009
Сообщений: 17
По умолчанию

Я конечно все понимаю, но вот только все эти статьи про управление устройствами которые висят на LPT, а мне нужно программой управлять через него!
Я не отридцаю тот факт, что чтото упустил.
Я очень очень прошу объясните мне что да как!
Если есть исходники или листинги, то очень хотелось бы взглянуть!
Мне это очень надо!

Мне очень трудно даются Deliphi так как все стараюсь достичь сам (некому меня учить, но я не сдаюсь)
Прошу понять как мне сложно в этом разобраться!

Последний раз редактировалось firmwares; 07.12.2009 в 22:21.
firmwares вне форума Ответить с цитированием
Старый 08.12.2009, 07:23   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
Я конечно все понимаю, но вот только все эти статьи про управление устройствами которые висят на LPT, а мне нужно программой управлять через него!
вот, про управление светодиодом и мониторинг

что касается управления кнопкой в вашей программе кнопкой "висящей" на LPT, так используйте чтение определенного сигнала и событие "клика" вашей кнопки, что ж тут "заумного-то"... можете и через sendmessage.
Вложения
Тип файла: pdf мониторинг LPT и управление.pdf (347.1 Кб, 173 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 08.12.2009, 14:02   #6
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Держи проект. Подключи кнопку S1 с резистором по схеме поста №3.
Вложения
Тип файла: rar ВходLPT.rar (14.8 Кб, 109 просмотров)
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Старый 08.12.2009, 17:55   #7
firmwares
Пользователь
 
Регистрация: 12.05.2009
Сообщений: 17
По умолчанию

DeKot
Спасибо тебе болшое!
Ты очень выручил!
firmwares вне форума Ответить с цитированием
Старый 15.12.2010, 13:20   #8
polzovatelpk
 
Регистрация: 15.12.2010
Сообщений: 4
По умолчанию

Цитата:
Сообщение от DeKot Посмотреть сообщение
Держи проект. Подключи кнопку S1 с резистором по схеме поста №3.
Объясните что должно выполняться этой программой, если замкнуть ключ в схеме в 3 посте ?

Последний раз редактировалось polzovatelpk; 15.12.2010 в 14:21.
polzovatelpk вне форума Ответить с цитированием
Старый 15.12.2010, 14:25   #9
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Ответы на ваши вопросы Владимир Дегтярь дает в номерах 3-м и 4-м нашего журнала http://procoder.info:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 16.12.2010, 13:17   #10
DeKot
Участник клуба
 
Аватар для DeKot
 
Регистрация: 12.08.2008
Сообщений: 1,977
По умолчанию

Цитата:
Объясните что должно выполняться этой программой, если замкнуть ключ в схеме в 3 посте ?
Вы же хотите запустить какую то прогу при замыкании внешней физической кнопки, подключенной к LPT порту.
Вот и вставте вместо < ... >
Код:
 begin
    flag_pressKey:= true; { отметили нажатие S1, что бы при следующем такте таймера не происходил повторный запуск процедуры реакции на нажатие S1 }
    < код процедуры реакции на нажатие кнопки S1>
  end;
следующий код. То что выделено цветов замените на имя своей программы с правильно указанным путем к ней.
Код:
ShellExecute(Handle, nil, 'D:\Delphi\Программы\Other.exe', nil, nil, SW_SHOWNORMAL);
Что касается номинала резисторов ( это вопрос был в личку), то из опыта - достаточно 330- 470 ОМ (любой из этого диапазона).
И не сомневайся даже ... отдых - кайф, работа - лажа!
DeKot вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управление ШД через LPT - порт remz Общие вопросы Delphi 17 06.10.2010 22:39
LPT ПОРТ master3763 Общие вопросы C/C++ 7 11.08.2009 10:32
LPT порт. Maxs Помощь студентам 2 19.04.2009 11:47
Управление чужой программой через WEB. MethSpeed Безопасность, Шифрование 9 20.07.2008 14:45