Форум РадиоКот 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 работать не хотел. Еще раз всем спасибо за помощь. Блин ![]() ![]() ЗЫ Опять наверно меня не поймут ![]() |
Автор: | Сволочь [ Чт июн 22, 2006 16:03:27 ] |
Заголовок сообщения: | |
А вот за это отдельное спасибо. Даже не знал, что понижение уровня на выходе отразится на регистре данных. Изящно. ![]() |
Автор: | Дмитрий О [ Чт июн 22, 2006 16:21:49 ] |
Заголовок сообщения: | |
Опять блин ![]() ![]() |
Автор: | 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/ |