Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPT порт в режиме чтения
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Интерфейсы
vladimir_orl
Здравствуйте. Пишу драйвер для своего LPT устройства. Данные отправляются правильно, а назад ничего не приходит (точнее 0x00). Слышал, что надо перевести порт в режим чтения. Подскажите, как правильно нужно сделать. Метод проб и ошибок пока не применяю, т.к. не хочется палить LPT порт.
kovigor
Цитата(vladimir_orl @ Oct 16 2014, 07:30) *
Слышал, что надо перевести порт в режим чтения.

В режиме SPP чтение с линий данных работать не будет. Вам нужны режимы EPP или ECP. Вот и поищите в Сети, как их задействовать.
А зачем вам свой драйвер ? Может, вам достаточно будет ознакомиться с тем, как, например, сделан программатор AVREAL и использовать поставляемый с ним драйвер ?

RabidRabbit
В режиме SPP вполне себе можно принимать данные. Используя чтение линий состояния. sm.gif А если поставить К589АП16 - то можно получить полноценный двунаправленный 4-битный порт sm.gif
Abell
Еще можно "отгрызть" несколько бит выходного порта и программно сканировать адрес входа/выхода sm.gif запустить адрес на мультиплексор, типа КП1, и регистр - вроде ИР33, и несолько бит для выбора направления и фиксации.
Делал такое для управления термопласт-автоматом с компьютера, ну это уже немного извращение laughing.gif
vladimir_orl
Перевёл порт в BIOS-е на bidirectional режим. Потихоньку начал давать напряжение. Ток резко поднялся. Т.е. там идёт сильная привязка к +5 В или 0 В. Попробовать хочу честно читать 8 бит через LPT. Но это так, вроде внеклассного чтения. Пишу свой драйвер, вот решил его для LPT сделать.
kovigor
Цитата(vladimir_orl @ Oct 27 2014, 10:11) *
Перевёл порт в BIOS-е на bidirectional режим. Потихоньку начал давать напряжение. Ток резко поднялся.

Куда давать ? От внешнего источника на ножки порта ? И ток при этом поднимается ? Так у вас конфликт, и порт работает на вывод, и ваш источник - тоже. Один выводит ноль, второй - единичку, вот и причина описанного вами эффекта. Вы прежде точно выясните, как переключить линии порта на ввод.
См. того же Кулакова, например, "Программирование на аппаратном уровне: специальный справочник" (вам нужен режим ECP):

http://www.ex.ua/272314

И еще. Не подавайте сигналы на ножки порта напрямую - сожжете порт или что-то еще. Подавайте через резисторы (килоом - вполне разумный номинал для начала) ...
vladimir_orl
Я думал как в микроконтроллере, тоже регистр режим должен быть - на ввод и на вывод. Типа Data Direction Redgister.
Спасибо, почитаю про ECP, EPP. Тему можно считать закрытой.
kovigor
Цитата(vladimir_orl @ Oct 28 2014, 08:34) *
Спасибо, почитаю про ECP, EPP. Тему можно считать закрытой.

Не за что.
Еще Фроловых можете глянуть, у них целая книжная серия была: "Библиотека системного программиста". В какой-то из книг это должно быть расписано ...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.