Например TDA7294

Форум РадиоКот :: Просмотр темы - Проблема с LPT портом
Форум РадиоКот
https://radiokot.ru/forum/

Проблема с LPT портом
https://radiokot.ru/forum/viewtopic.php?f=24&t=1264
Страница 1 из 1

Автор:  Сволочь [ Ср июн 21, 2006 11:08:54 ]
Заголовок сообщения:  Проблема с LPT портом

Всем желаю здравствовать.
Ломаю голову уже неделю над следующей проблемой:
Передача и прием данных посредством LPT порта.
Для выхода испольщую пины данных. С этим никаких проблем.
Устанавливаются, снимаются.
Для входа использую пины состояния. Но тут проблема - прочесть их могу, а изменить нет. То есть проверяю порт - везде единицы. Замыкаю 10 пин на землю, проверяю повторно - тоже единица.
Использовал разные драйверы (WinIo, ZlPortIo, LptWdmIo), везде все тоже самое.
Кто-нибудь сталкивался с такой проблемой?

Автор:  Max [ Ср июн 21, 2006 11:54:26 ]
Заголовок сообщения: 

А принтер нормально работает на этом порту?

Автор:  Сволочь [ Ср июн 21, 2006 12:52:24 ]
Заголовок сообщения: 

Да, специально подключал, проверял.
HP LaserJet 2300 без проблем печатает.

Автор:  МИК [ Ср июн 21, 2006 17:56:14 ]
Заголовок сообщения: 

Если считываешь регистр состояния порта, а не регистр данных порта, то уровень должен читаться.
Если уровни на вывод управляются, драйвера в норме.
Конечно, не знаю твои задумки, но лучше собрать небольшую схему, с парой буферных регистров, порт
вкючить в режим ЕЕР, и будет у тебя спокойно 8 линий на ввод и 8 на вывод (а еще пару микросхем- и вообще- сколько хочешь линий). Тогда и твои "замыкаю пин на массу" не страшны, а то LPT порт довольно хрупкий. А если достаточно 3 линии ввода и 2 вывода (расширить тоже не трудно), лучше использовать прекрасно защищенный СОМ порт, линии DCD, DSR, CTS, DTR, RTS спокойно работают с уровнями.

Автор:  Сволочь [ Ср июн 21, 2006 21:38:20 ]
Заголовок сообщения: 

Читаю регистр состояния (378h+1). Читается то он на ура, но я его изменить не могу. Видел примеры в интернете, делал также. Через 500 омник замыкал на землю. Дело в том, что на ноге все равно единица сохраняется.
Для схемы нужно только 2 выхода с компа и один вход. COM использовать затруднительно, так как в устройстве оба кома заняты. Предполагается что порт в основном на выход работает, на вход приходит сигнал от датчика вторжения. LPT меня полностью устраивает.

Автор:  Дмитрий О [ Ср июн 21, 2006 22:05:57 ]
Заголовок сообщения: 

Могу успокоить сразу - резюк 500 Ом можно не ставить, у меня без него ничего не дымится :) Бум думать...
А, вот. Будь внимателен, некоторые пины инвертированы, например Busy. Подаешь землю - считывается 1. Без проблем все работает, предлагаю прогу для гирлянд (посмотри по этой ветке).

Автор:  МИК [ Чт июн 22, 2006 02:52:07 ]
Заголовок сообщения: 

Должен читаться. Пожалуй 510 ом многовато будет, если внутренний резистор порта, который 1 подтягивает, около 1ком. Тогда ноль на линии не получится. В принципе чисто входные линии можно и без сопротивлений на массу брать, если аккуратно.

Автор:  Сволочь [ Чт июн 22, 2006 08:38:11 ]
Заголовок сообщения: 

Всем спасибо. Нашел.
Начал переключать режимы работы паралельного порта в биосе.
Также перебирал земли (18-25)
На 22 выводе в Normal режиме заработало. Причем на 23-25 работать не хотел.
Еще раз всем спасибо за помощь.

Автор:  Дмитрий О [ Чт июн 22, 2006 15:20:49 ]
Заголовок сообщения: 

Сволочь писал(а):
Всем спасибо. Нашел.
Начал переключать режимы работы паралельного порта в биосе.
Также перебирал земли (18-25)
На 22 выводе в Normal режиме заработало. Причем на 23-25 работать не хотел.
Еще раз всем спасибо за помощь.

Блин :) а я про биос не подумал :) Примите еще к сведению, что через пины D0-D7 тоже можно считывать данные - достаточно поставить на пин лог. 1 - и спокойно коннектить пин к земле. Сигнал на нем автоматически отрубается. При вычитании установившегося числа из бывшего получаем 2 в X степени, где х - D0-D7.
ЗЫ Опять наверно меня не поймут :)

Автор:  Сволочь [ Чт июн 22, 2006 16:03:27 ]
Заголовок сообщения: 

А вот за это отдельное спасибо. Даже не знал, что понижение уровня на выходе отразится на регистре данных. Изящно. :) Это в каком режиме работы порта (SPP, EPP,ECP)?

Автор:  Дмитрий О [ Чт июн 22, 2006 16:21:49 ]
Заголовок сообщения: 

Опять блин :) забыл :) У меня вроде с EPP работало. Хотя можно попробовать ECP+EPP.

Автор:  miZantrop [ Вт сен 19, 2006 19:43:03 ]
Заголовок сообщения: 

Если это кому ещё интересно, столкнулся сам с проблемой чтения из порта. Решил её следующим образом:
Есть у LPT порта в о всех режимах, кроме SPP, дополнительный регистр управления со смещением 402h т.е. если адрес порта 378h то адрес регистра 77Ah. Там кроме всякой фигни 3 старших регистра управляют режимом работы. Пишем туда число 34h. Теперь можно управлять направлением работы регистра DATA битом 5 регистра CONTROL (он не выведен на разъём и управляется программно) 0-вывод 1-ввод.
Подробнее В.Кулаков "Программирование на аппаратном уровне"
или М.Гук "Аппаратные средства ПК" но у Кулакова понятнее.
Потом возвращаем всё на место записью числа 14h в доп.регистр.
И вообще с LPT можно те ещё чудеса творить.

Автор:  Mamonth [ Ср сен 20, 2006 10:33:27 ]
Заголовок сообщения: 

Там в регистре состояния, данные по некоторым линиям можно только читать. Не все работают на запись, кроме того многое зависит от режима работы порта ECP, EPP, SPP

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/