Взаимодействие регистров LPT-порта. Внутри.
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Взаимодействие регистров LPT-порта. Внутри.
Добрый день, кто может объяснить понятным русским языком следующее:
1. Если я программно (на компьютере) изменяю логические уровни в регистре CONTROL (это который имеет 4 ноги), как это отражается на регистре DATA (это который имеет 8 ног)? Как я понял, на регистре STATUS (это который имеет 5 ног) программные изменения в любых регистрах вообще никак не отражаются (но изменения этого регистра из внешнего устройства повлияют на остальные регистры). Меня пока не интересует влияние регистра STATUS на остальные регистры.
2. Как изменения в регистре DATA влияют на регистр CONTROL ?
3. Или они никак не влияют (в смысле, изменения в них) друг на друга?
http://www.kernelchip.ru/pcports/img/PS004/2.gif
1. Если я программно (на компьютере) изменяю логические уровни в регистре CONTROL (это который имеет 4 ноги), как это отражается на регистре DATA (это который имеет 8 ног)? Как я понял, на регистре STATUS (это который имеет 5 ног) программные изменения в любых регистрах вообще никак не отражаются (но изменения этого регистра из внешнего устройства повлияют на остальные регистры). Меня пока не интересует влияние регистра STATUS на остальные регистры.
2. Как изменения в регистре DATA влияют на регистр CONTROL ?
3. Или они никак не влияют (в смысле, изменения в них) друг на друга?
http://www.kernelchip.ru/pcports/img/PS004/2.gif
даешь высокое напряжение
Re: Взаимодействие регистров LPT-порта. Внутри.
Не должны они никак влиять друг на друга. Регистры независимы. Но под Windows есть проблема: она считает, что к порту LPT может быть подключен только принтер (в крайнем случае сканер), и если некоторые биты меняются, пытается этот принтер обнаружить, и сама начинает переключать биты в других регистрах. Отключается эта фича следующим ключом в реестре:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
SergM писал(а):[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
У меня там нет такого параметра. Чтобы его создать, что там надо выбрать? Там несколько типов создаваемого параметра.
И еще, я использую " inpout32.dll ".
даешь высокое напряжение
Re: Взаимодействие регистров LPT-порта. Внутри.
Vova777 писал(а):У меня там нет такого параметра. Чтобы его создать, что там надо выбрать? Там несколько типов создаваемого параметра.
Как написано - DWORD. Значение 1.
Потом перегрузиться.
Думаю, что разницы нет.Vova777 писал(а):И еще, я использую " inpout32.dll ".
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
SergM писал(а):Как написано - DWORD. Значение 1.
Потом перегрузиться.
Не работает. Ничего не изменилось.
даешь высокое напряжение
Re: Взаимодействие регистров LPT-порта. Внутри.
Vova777 писал(а):Не работает. Ничего не изменилось.
Тогда не знаю. Рецепт взят отсюда. Вроде бы это касается Windows XP SP2/SP3.
Может быть, ещё какая-то программа висит? Типа принтерного монитора?
Ну попробуй ещё (чтобы убедиться в отсутствии опечаток) сохранить вот это содержимое в файл "WinXP LPT patch.reg". И потом открыть этот файл. Чтоб уже точно записалось куда надо.
REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
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-порта. Внутри.
Интересно, а такое возможно:
Нужно, чтобы каждая нога абсолютно любого регистра была полностью "независимой", т.е. ее изменения не должны вообще никак влиять на остальные ноги в любом регистре?
Еще мне не понятно, вот например нога №1 "strobe" - она вроде как должна изменять свое состояние с I на O при записи/чтении данных в регистре Data. И что, она изменяет свое состояние автоматически, когда я пишу/читаю в регистре Data? Или ее изменения нужно специально программировать в своей программе?
Нужно, чтобы каждая нога абсолютно любого регистра была полностью "независимой", т.е. ее изменения не должны вообще никак влиять на остальные ноги в любом регистре?
Еще мне не понятно, вот например нога №1 "strobe" - она вроде как должна изменять свое состояние с I на O при записи/чтении данных в регистре Data. И что, она изменяет свое состояние автоматически, когда я пишу/читаю в регистре Data? Или ее изменения нужно специально программировать в своей программе?
даешь высокое напряжение
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Взаимодействие регистров LPT-порта. Внутри.
Дык и так ноги независимы)))) Это как ножки микроконтроллера, сгруппированны по портам и всё...
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Re: Взаимодействие регистров LPT-порта. Внутри.
А не лучше это реализовать на MK?
Берете дешевый и доступный ARV, поднимаете на нем софтовый USB (чтобы не искать дрова, лучше HID) и управляете его ногами как захотите. И проблем будет меньше и проще подстроить конструкцию под себя, возложив на МК некоторые задачи, требующие рантайм выполнения.
Берете дешевый и доступный ARV, поднимаете на нем софтовый USB (чтобы не искать дрова, лучше HID) и управляете его ногами как захотите. И проблем будет меньше и проще подстроить конструкцию под себя, возложив на МК некоторые задачи, требующие рантайм выполнения.
Последний раз редактировалось Мурик Чт дек 12, 2013 19:35:43, всего редактировалось 2 раза.
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
Dr. Alex писал(а):сгруппированны по портам и всё
Ясно, их разделение довольно условное. А что со Стробом?
Последний раз редактировалось Vova777 Чт дек 12, 2013 19:36:26, всего редактировалось 1 раз.
даешь высокое напряжение
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
Мурик писал(а):А не лучше это реализовать на MK?
МК у меня для другой задачи. А что со Стробом?
Последний раз редактировалось Vova777 Чт дек 12, 2013 19:36:45, всего редактировалось 1 раз.
даешь высокое напряжение
Re: Взаимодействие регистров LPT-порта. Внутри.
МК подключается к LPT?Vova777 писал(а):Мурик писал(а):А не лучше это реализовать на MK?
МК у меня для другой задачи.
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
даешь высокое напряжение
Re: Взаимодействие регистров LPT-порта. Внутри.
ИМХО лучше как писал выше - поднять на имеющемся в устройстве ATmega32, совтовый USB.
Но библиотека есть не для всех ЯП. Она имеется для асма, Си и Бейсика.
Но библиотека есть не для всех ЯП. Она имеется для асма, Си и Бейсика.
Последний раз редактировалось Мурик Чт дек 12, 2013 19:43:24, всего редактировалось 2 раза.
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
Мурик писал(а):лучше как писал выше
Ну Вам так проще, а я не прошарен настолько, как там все это делать. Леплю по-своему, зато сам, почти своей головой
Лучше скажите, что там со Стробом?
даешь высокое напряжение
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Взаимодействие регистров LPT-порта. Внутри.
Я сам на Делфях пишу))) Так а что вам не нравится со Стробом?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
Dr. Alex писал(а):Я сам на Делфях пишу)))
Вот видите, а бывает такое, что читаешь какую-то статью, там что-то нехорошее про Делфи говорят. Чем им не нравится, не пойму? Простой и понятный язык, да и программу можно быстро слепить.
Dr. Alex писал(а):Так а что вам не нравится со Стробом?
Когда он "изменяет" свое состояние? Автоматически при чтении-записи в регистре Data или его "изменения" нужно программировать в своей программе?
даешь высокое напряжение
- Dr. Alex
- Это не хвост, это антенна
- Сообщения: 1438
- Зарегистрирован: Вт окт 28, 2008 09:00:18
- Откуда: Украина, Харьков
- Контактная информация:
Re: Взаимодействие регистров LPT-порта. Внутри.
Хм... Всё зависит что вы вообще хотите от порта) Конечно его врукопашную, как и все надо выставлять/убирать)
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
-
Vova777
- Вымогатель припоя
- Сообщения: 507
- Зарегистрирован: Чт июн 16, 2011 15:06:10
- Откуда: электрощитовая
Re: Взаимодействие регистров LPT-порта. Внутри.
Dr. Alex писал(а):его врукопашную, как и все надо выставлять/убирать)
Т.е. все должно делаться руками, понятно. Спасибо.
Да хотел Стробом "показывать" своему МК, что ему сейчас "делать" на своих ногах (которые к LPТ подключены), у меня там двунаправленная передача. Реально такое?
И еще, как я понял, раз управление по ногам идет своими "руками", зачем тогда ногам дали названия? Я ведь если захочу, ноге какую-нибудь свою функцию сделаю. Так?
даешь высокое напряжение