Взаимодействие регистров LPT-порта. Внутри.

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Добрый день, кто может объяснить понятным русским языком следующее:

1. Если я программно (на компьютере) изменяю логические уровни в регистре CONTROL (это который имеет 4 ноги), как это отражается на регистре DATA (это который имеет 8 ног)? Как я понял, на регистре STATUS (это который имеет 5 ног) программные изменения в любых регистрах вообще никак не отражаются (но изменения этого регистра из внешнего устройства повлияют на остальные регистры). Меня пока не интересует влияние регистра STATUS на остальные регистры.

2. Как изменения в регистре DATA влияют на регистр CONTROL ?

3. Или они никак не влияют (в смысле, изменения в них) друг на друга?

http://www.kernelchip.ru/pcports/img/PS004/2.gif
даешь высокое напряжение
SergM
Родился
Сообщения: 9
Зарегистрирован: Пт ноя 29, 2013 23:07:29

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение SergM »

Не должны они никак влиять друг на друга. Регистры независимы. Но под Windows есть проблема: она считает, что к порту LPT может быть подключен только принтер (в крайнем случае сканер), и если некоторые биты меняются, пытается этот принтер обнаружить, и сама начинает переключать биты в других регистрах. Отключается эта фича следующим ключом в реестре:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

SergM писал(а):[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001


У меня там нет такого параметра. Чтобы его создать, что там надо выбрать? Там несколько типов создаваемого параметра.

И еще, я использую " inpout32.dll ".
даешь высокое напряжение
SergM
Родился
Сообщения: 9
Зарегистрирован: Пт ноя 29, 2013 23:07:29

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение SergM »

Vova777 писал(а):У меня там нет такого параметра. Чтобы его создать, что там надо выбрать? Там несколько типов создаваемого параметра.

Как написано - DWORD. Значение 1.
Потом перегрузиться.

Vova777 писал(а):И еще, я использую " inpout32.dll ".
Думаю, что разницы нет.
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

SergM писал(а):Как написано - DWORD. Значение 1.
Потом перегрузиться.


Не работает. Ничего не изменилось.
даешь высокое напряжение
SergM
Родился
Сообщения: 9
Зарегистрирован: Пт ноя 29, 2013 23:07:29

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение SergM »

Vova777 писал(а):Не работает. Ничего не изменилось.

Тогда не знаю. Рецепт взят отсюда. Вроде бы это касается Windows XP SP2/SP3.
Может быть, ещё какая-то программа висит? Типа принтерного монитора?
Ну попробуй ещё (чтобы убедиться в отсутствии опечаток) сохранить вот это содержимое в файл "WinXP LPT patch.reg". И потом открыть этот файл. Чтоб уже точно записалось куда надо.
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]

"DisableWarmPoll"=dword:00000001
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

Vova777 писал(а):И еще, я использую " inpout32.dll ".
Попробуйте другую, а вдруг поможет.
Например pb_io.dll.
У нее немного отличаются названия функций. Их имена Inp и Out, а не Inp32 и Out32.
В архиве библиотека с примерами и ее исходниками и исходниками драйвера.
Вложения
Driver_IO_x86_x64.zip
(39.14 КБ) 222 скачивания
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Интересно, а такое возможно:

Нужно, чтобы каждая нога абсолютно любого регистра была полностью "независимой", т.е. ее изменения не должны вообще никак влиять на остальные ноги в любом регистре?

Еще мне не понятно, вот например нога №1 "strobe" - она вроде как должна изменять свое состояние с I на O при записи/чтении данных в регистре Data. И что, она изменяет свое состояние автоматически, когда я пишу/читаю в регистре Data? Или ее изменения нужно специально программировать в своей программе?
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Дык и так ноги независимы)))) Это как ножки микроконтроллера, сгруппированны по портам и всё...
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

А не лучше это реализовать на MK?
Берете дешевый и доступный ARV, поднимаете на нем софтовый USB (чтобы не искать дрова, лучше HID) и управляете его ногами как захотите. И проблем будет меньше и проще подстроить конструкцию под себя, возложив на МК некоторые задачи, требующие рантайм выполнения.
Последний раз редактировалось Мурик Чт дек 12, 2013 19:35:43, всего редактировалось 2 раза.
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):сгруппированны по портам и всё

Ясно, их разделение довольно условное. А что со Стробом?
Последний раз редактировалось Vova777 Чт дек 12, 2013 19:36:26, всего редактировалось 1 раз.
даешь высокое напряжение
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Мурик писал(а):А не лучше это реализовать на MK?

МК у меня для другой задачи. А что со Стробом?
Последний раз редактировалось Vova777 Чт дек 12, 2013 19:36:45, всего редактировалось 1 раз.
даешь высокое напряжение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

Vova777 писал(а):
Мурик писал(а):А не лучше это реализовать на MK?

МК у меня для другой задачи.
МК подключается к LPT?
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Мурик писал(а):МК подключается к LPT?

В общем-то, вот тут вся идея:
viewtopic.php?f=57&t=97785
даешь высокое напряжение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Мурик »

ИМХО лучше как писал выше - поднять на имеющемся в устройстве ATmega32, совтовый USB.
Но библиотека есть не для всех ЯП. Она имеется для асма, Си и Бейсика.
Последний раз редактировалось Мурик Чт дек 12, 2013 19:43:24, всего редактировалось 2 раза.
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Мурик писал(а):лучше как писал выше


Ну Вам так проще, а я не прошарен настолько, как там все это делать. Леплю по-своему, зато сам, почти своей головой :)) Тем более, что я пишу на Делфи (Дельфин или Делфинист, тут кому как проще, а мне он нравится и знаю я его более-менее нормально).
Лучше скажите, что там со Стробом?
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Я сам на Делфях пишу))) Так а что вам не нравится со Стробом?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):Я сам на Делфях пишу)))

Вот видите, а бывает такое, что читаешь какую-то статью, там что-то нехорошее про Делфи говорят. Чем им не нравится, не пойму? Простой и понятный язык, да и программу можно быстро слепить.

Dr. Alex писал(а):Так а что вам не нравится со Стробом?

Когда он "изменяет" свое состояние? Автоматически при чтении-записи в регистре Data или его "изменения" нужно программировать в своей программе?
даешь высокое напряжение
Аватара пользователя
Dr. Alex
Это не хвост, это антенна
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков
Контактная информация:

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Dr. Alex »

Хм... Всё зависит что вы вообще хотите от порта) Конечно его врукопашную, как и все надо выставлять/убирать)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Vova777
Вымогатель припоя
Сообщения: 507
Зарегистрирован: Чт июн 16, 2011 15:06:10
Откуда: электрощитовая

Re: Взаимодействие регистров LPT-порта. Внутри.

Сообщение Vova777 »

Dr. Alex писал(а):его врукопашную, как и все надо выставлять/убирать)

Т.е. все должно делаться руками, понятно. Спасибо.

Да хотел Стробом "показывать" своему МК, что ему сейчас "делать" на своих ногах (которые к LPТ подключены), у меня там двунаправленная передача. Реально такое?

И еще, как я понял, раз управление по ногам идет своими "руками", зачем тогда ногам дали названия? Я ведь если захочу, ноге какую-нибудь свою функцию сделаю. Так?
даешь высокое напряжение
Ответить

Вернуться в «Интеграция с ПК»