LPT контролер

Обсуждаются темы не относящиеся к журналу "РАДИО"

Re: LPT контролер

Сообщение БОРИС » 31 июл 2010, 18:22

доступ к порту данных и без драйверов свободен, а вот как эти драйвере относятся к обмену с остальными адресами:
0х0378 - 0х0379 и 0х037А ?
для работы на разных ПК с разными версиями ХР стабильно работающей оказалась только модель STK 200m под pony rpog :?
а тестовая программка, использующая линии портов 0х0379 и 0х037А вообще возвращала в каждом случае разные результаты (правда этот тест этот делался без специальных драйверов) :twisted:
БОРИС
БОРИС
 
Сообщения: 13
Зарегистрирован: 24 авг 2008, 07:37
Откуда: УКРАИНА, ДОНЕЦК

Re: LPT контролер

Сообщение Пётр » 01 авг 2010, 14:00

UrfinJ писал(а):А была еще готовая скомпилированная DLL, которую не разобрать по частям, поэтому и вот так, подключать только на лету.
Но эту DLL можно встроить в исполняемый файл, а не подключать на лету.
Вот пример программы, которая пишет данные в регистр 378H (LPT 1) http://depositfiles.com/files/eaak4mm6a
Для работы с портом, использована библиотека "inpout32.dll", которая на этапе компиляции, встроена в исполняемый файл и вызывается от туда без извлечения на диск.
Пётр
 
Сообщения: 46
Зарегистрирован: 21 мар 2008, 13:03

Re: LPT контролер

Сообщение sven » 14 авг 2010, 11:03

Борис,Петр,UrfinJ будет ли работать с помощью драйверов ,если да пришлите по почте,и немного поподробнее как их устанавливать , а то читаю Ваши сообщения для меня это темный лес.Заранее благодарен.
sven
 
Сообщения: 52
Зарегистрирован: 20 мар 2008, 21:17

Re: LPT контролер

Сообщение Пётр » 15 авг 2010, 17:46

sven писал(а):будет ли работать с помощью драйверов
Здесь многое зависит от самого LPT контролера. Ведь они разные бывают.
Какая у него маркировка?
Пётр
 
Сообщения: 46
Зарегистрирован: 21 мар 2008, 13:03

Re: LPT контролер

Сообщение UrfinJ » 29 авг 2010, 10:02

Пётр

Согласен, почитал на эту тему DLL, это возможно, но для простых устройств.
Спасибо, не знал )))
UrfinJ
 
Сообщения: 236
Зарегистрирован: 06 июл 2008, 22:40

Re: LPT контролер

Сообщение UrfinJ » 29 авг 2010, 10:06

sven

Напишите в личку проблему, я думаю решим без проблем. У меня сейчас время есть, сделаем )))
UrfinJ
 
Сообщения: 236
Зарегистрирован: 06 июл 2008, 22:40

Re: LPT контроллер

Сообщение sven » 21 мар 2011, 23:31

Купил контроллер LPT Gembird LPC-1.В диспечере устройств определяется как LPT-3 .Можно ли его заставить работать ?Комп пишет ус-во работает нормально или все это бесполезняк ?
sven
 
Сообщения: 52
Зарегистрирован: 20 мар 2008, 21:17

Re: LPT контролер

Сообщение UrfinJ » 24 мар 2011, 22:20

SVEN

Как я понял, до сих не получилось с LPT3.
То, что мы говорили выше, это относится непосредственно к программированию, то есть написанию своих программ и внедрению сторонних драйверов для прямого доступа к портам LPT. Это совершенно другое, там смещение адреса, доступ к байтам и тд.

У вас проблема другая - надо подключить программатор к порту и залить готовую прошивку. LPT1 на материнке сгорел, куплена плата, которая определяется как LPT3. Правильно? И что делать?

1) У LPT1 адрес - 378, у LPT3 - 3BC, можно просто поменять этот физический адрес в проге для программатора.
2) Обычно в прогах используются только 2 адреса - LPT1 и LPT2, остальные LPT отключены за ненадобностью.
В БИОС отключить LPT1, чтобы не мешал, потому что горелый, посмотреть после перезагрузки, появился ли порт, если он один, значит порт горелый на материнке отключен, определился порт LPT1 на вставленной карте, это хорошо. Проверяем адрес - он должен быть 378.
Следует заметить - в ассемблере порт пишется как 378h, в языке С и С++ как х378. В проге наверное это как просто 378 или 0378 ? Не суть важно, просто подсказка, есть чумные программеры, которые требуют написать порт в соответствии со стандартом.


Наверное прога под Вин? Если под ДОС, то..
В любом случае, надо знать, прога программатора гарантированно работает под Вин9х,МЕ.
Под Вин2000 и выше может не работать. Что делать?
Недавно мне надо было залить прошивку в редком и специфическом аппарате, ну никак в ХР SP3 не получается, даже в режиме эмуляции ДОС, возникает ошибка. Вот тут и нужен прямой доступ к портам.
Много испробовал, но лучшим оказался SuperDos, идеальный вариант, просто перезагружает комп в Dos7.0 или в ВинХр, очень просто, не надо вникать что прописывать в конфиге, он сам все делает. Просто СУПЕР, все получилось сразу. Просто запускаешь СуперДос, потом прогу программатора, заливаешь прошивку, закрываешь прогу, нажимаешь - выйти из СуперДос, комп перезагружается сам и вот снова ВинХр. Просто и быстро. А уж хотел ДОС 6.22 заливать...

А чтобы не спалить порт, надо всегда ставить развязку, для LPT и COM - это в каждую линию данных последовательно ставить резисторы 330-470 Ом, а лучше 1 кОм, чтобы ток короткого замыкания не превышал 10-20 мА, на которые они рассчитаны. Так что если даже неправильная была распайка, ничего не сгорит. Для COM порта это 2 резистора, для ЛПТ порта 8 резисторов. Скорость там низкая по умолчанию, так что нарастание-спад фронта импульса играет ничтожную роль.
Все простые программаторы нарисованы без этих резисторов, чтобы не отпугнуть начинающих большим количеством деталей.
Недавно отругал ноутбучников по этой теме, те стали переделывать свой программатор, ворчали.

Если еще есть вопросы - отвечу)))
UrfinJ
 
Сообщения: 236
Зарегистрирован: 06 июл 2008, 22:40

Re: LPT контролер

Сообщение Vivan755 » 30 апр 2011, 18:25

У меня такая задача. Нужно из некоей программы (32-битного современного производственного тренажёра под WinNT) вывести индикацию некоторых параметров на пять-семь светодиодов. Как самый простой вариант всплыло покдлючение светиков через резисторы к дата-выводам LPT — там вполне подходящие пять вольт. Лет десять назад в журнале UPGRADE видел схему подключения к COM-порту для Win9x, там некоторые выводы глушились перемычками, чтобы конп думал, что к порту подключено устройство, и DOS-командой на порт копировался файл. С TXD снимались импульсы и шли на индикацию.

Мне представляется это примерно так: LPT тоже глушится перемычками и каким-нибудь спецдрайвером (в WinNT, как мне сказали, напрямую командой копирования нельзя) на него копируются нужные символы. Допустим, надо, чтобы горел третий светодиод — на порт выводится символ с кодом 00100000, чтобы единица была на третьей дата-ноге. Отсюда вопросы: какие перемычки поставить на разъём? Как называется драйвер, где его взять и что он позволяет? Связь с программистом, чтобы он встроил нужные функции в программу, есть. Почитал бы и про вариант устройства под USB.
Vivan755
 
Сообщения: 1
Зарегистрирован: 30 апр 2011, 18:09

Re: LPT контролер

Сообщение UrfinJ » 05 май 2011, 23:15

Перемычки не нужны. В разъеме есть ответ приема отправленного байта и тд. Задача упрощается в сравнении с COM.
Если скорость для LPT не требуется, то можно писать и принимать на виртуальный LPT. Это самое простое, все будет работать для LPT1, просто будет другой виртуальный номер порта, а перенаправляться внутри на реальный железный LPT1. Это для светодиодов, если нужно. А чтобы горел третий светодиод — на порт выводится символ не с кодом 00100000, а 00000100 кстати.
А почему нельзя скопировать файл на виртуальный порт ?

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

Для USB - это уже требуется внешнее железо, свой драйвер можно даже написать самому, там много функций можно опустить и не использовать лишнее.


При желании программист разберется с поиском, а советовать бесполезно, для каждой задачи есть нюансы.
С Гуглом можно за несколько дней написать прогу, главное понять. В 2 словах не сказать что и как.
Тяжело? Нет, было бы желание разобраться.
UrfinJ
 
Сообщения: 236
Зарегистрирован: 06 июл 2008, 22:40

Пред.След.

Вернуться в Всё остальное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

cron