![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Есть внешнее устройство, подключаемое к порту LPT. У устройства есть два режима: включено и выключено. При положении включено к устройству подается напряжение 12V, а при режиме отключено к нему поступает 0V.
Данное напряжение может дать именно LPT порт. Как реализуется поставленная задача? P. S. А к каким ножкам подключать минус и плюс устройства? P. P. S. Что-то поиск с первого раза не дал мне ответа конкретного на поставленный вопрос... ![]() |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Вот тут с CreateFile выискал работу с COM портом. С LPT вроде работать также можно (логично).
Что мне писать нужно в этот файл, чтобы напряжение появилось на контактах Data? |
|||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Напряжение на выходах Com\LPT вроде всегда подается с материнской платы, вне зависимости от того подключено к нему устройство или нет.
Попробуй посмотреть здесь -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
||||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
-------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
||||
|
||||
Fedia |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Есть пример класса для работы с LPT портом, реализованный Snowy:
На сколько я понял, запись в порт реализуется так:
При этом первый и третий отправляемые байты определяют наличие питания на контактах 2..9 и 18..25. Если посылаем нули, то питания не будет, и наоборот. Это сообщение отредактировал(а) Fedia - 25.8.2006, 02:22 -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
||||
|
|||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Так и не ответили..
![]() В качестве строки, помещаемой в "файл" (в порт в данном случае), мы берем: 00000000 - всё отключено 10000000 - первый контакт включен 01000000 - второй контакт включен ... 00000001 - последний контакт включен Верно? |
|||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Ну логично. 1-н байт ~ 8 бит ~ 8 контактов. Это для меня (думаю что и для тебя) было само собой разумеющееся ![]() s:=chr(255)+chr(11)+chr(54)+chr(18). А для подключения всех контактов с 18 по 25: s:=chr(11)+chr(54)+chr(255)+chr(18). Проверить не могу, нет под рукой LPT устройств. Работает? Это сообщение отредактировал(а) Fedia - 25.8.2006, 13:06 -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Брр... Давно за компом не сидел..
![]() Понятно что писать, если включать все контакты со 2-ого по 9-ый, но как включить отдельно второй, третий и так далее до девятого? |
|||
|
||||
Albinos_x |
|
||||||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
считываешь состояние порта, потом через xor , к примеру:
потом записываешь опять в порт, получишь, что состояние бита инвертируется... к примеру я использовал следующий код для опроса состояния входов порта:
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
||||||
|
|||||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Pakshin A. S., Изменять строку в зависимости от контактов, которые необходимо активировать можно так:
-------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
Pakshin A. S. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Огромное спасибо!
![]() И последнее приставание с моей стороны (точнее уточнение): чтобы на протяжении некоторого времени держать контакт под напряжением нужно отправлять данные в порт в цикле или достаточно один раз отправить данные, а потом их обнулить через некоторое время? Добавлено @ 10:50 Вдумчиво перечитал весь текст. Так какое напряжение будет получать устройство при подключении его на LPT порт? Там везде про 5 вольт говорится... ![]() |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: 26 Всего: 108 |
достаточно один раз послать... -------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Fedia |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 465 Регистрация: 2.8.2006 Где: первым встречаю р ассвет Репутация: 8 Всего: 13 |
Я сейчас немного покопался в инете. Похоже что напряжение с LPT подается 5-ти вольтовое, а для того, чтобы получить 12-ть используют преобразователи напряжения. Вот здесь есть немного информации по этому поводу. Надеюсь что поможет. А на счет поддержания напряжения тебе уже ответили ![]() -------------------- Накануне решающей битвы Я иду, и надеждою зыбкой Озаряется эта дорога, Я мечтаю увидеть улыбку На лице победившего Бога… |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |