vladimir_orl 0 16 октября, 2014 Опубликовано 16 октября, 2014 · Жалоба Здравствуйте. Пишу драйвер для своего LPT устройства. Данные отправляются правильно, а назад ничего не приходит (точнее 0x00). Слышал, что надо перевести порт в режим чтения. Подскажите, как правильно нужно сделать. Метод проб и ошибок пока не применяю, т.к. не хочется палить LPT порт. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 16 октября, 2014 Опубликовано 16 октября, 2014 · Жалоба Слышал, что надо перевести порт в режим чтения. В режиме SPP чтение с линий данных работать не будет. Вам нужны режимы EPP или ECP. Вот и поищите в Сети, как их задействовать. А зачем вам свой драйвер ? Может, вам достаточно будет ознакомиться с тем, как, например, сделан программатор AVREAL и использовать поставляемый с ним драйвер ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RabidRabbit 0 18 октября, 2014 Опубликовано 18 октября, 2014 · Жалоба В режиме SPP вполне себе можно принимать данные. Используя чтение линий состояния. :) А если поставить К589АП16 - то можно получить полноценный двунаправленный 4-битный порт :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Abell 0 18 октября, 2014 Опубликовано 18 октября, 2014 · Жалоба Еще можно "отгрызть" несколько бит выходного порта и программно сканировать адрес входа/выхода :) запустить адрес на мультиплексор, типа КП1, и регистр - вроде ИР33, и несолько бит для выбора направления и фиксации. Делал такое для управления термопласт-автоматом с компьютера, ну это уже немного извращение :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_orl 0 27 октября, 2014 Опубликовано 27 октября, 2014 · Жалоба Перевёл порт в BIOS-е на bidirectional режим. Потихоньку начал давать напряжение. Ток резко поднялся. Т.е. там идёт сильная привязка к +5 В или 0 В. Попробовать хочу честно читать 8 бит через LPT. Но это так, вроде внеклассного чтения. Пишу свой драйвер, вот решил его для LPT сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 27 октября, 2014 Опубликовано 27 октября, 2014 · Жалоба Перевёл порт в BIOS-е на bidirectional режим. Потихоньку начал давать напряжение. Ток резко поднялся. Куда давать ? От внешнего источника на ножки порта ? И ток при этом поднимается ? Так у вас конфликт, и порт работает на вывод, и ваш источник - тоже. Один выводит ноль, второй - единичку, вот и причина описанного вами эффекта. Вы прежде точно выясните, как переключить линии порта на ввод. См. того же Кулакова, например, "Программирование на аппаратном уровне: специальный справочник" (вам нужен режим ECP): http://www.ex.ua/272314 И еще. Не подавайте сигналы на ножки порта напрямую - сожжете порт или что-то еще. Подавайте через резисторы (килоом - вполне разумный номинал для начала) ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vladimir_orl 0 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Я думал как в микроконтроллере, тоже регистр режим должен быть - на ввод и на вывод. Типа Data Direction Redgister. Спасибо, почитаю про ECP, EPP. Тему можно считать закрытой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kovigor 6 28 октября, 2014 Опубликовано 28 октября, 2014 · Жалоба Спасибо, почитаю про ECP, EPP. Тему можно считать закрытой. Не за что. Еще Фроловых можете глянуть, у них целая книжная серия была: "Библиотека системного программиста". В какой-то из книг это должно быть расписано ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться