Технический форум по робототехнике.
mimicon » 06 май 2009, 11:11
Вот такая беда.
Возникла необходимость управлять железкой с ПК. Спаял модуль сопряжения, написал программку, все красиво заработало, но после перезагрузки возникла большая беда.
Винда при загрузке выдает во все 8 даталиний порта лог1 и он так и остается до обнуления порта программой.
Как обойти эту фичу?
galex1981 » 06 май 2009, 11:18
Если очень нужно избавиться от 1 - варианта 2
1) Использовать инверсные сигналы для работы с портом
2) Инвертор поставить на входе железки, и управлять затем не 1 а 0
mimicon » 06 май 2009, 11:30
Обход офисных машин показал, что не на всех машинах в ЛПТ на даталиниях единички.
В большинстве да, в некоторых только на 2-3, в некоторых, по нулям.
MiBBiM » 06 май 2009, 11:46
попробовать повыставлять разные режимы порта в биосе?
Добавлено спустя 6 минут 15 секунд:и ещё сделайте поиск в системном реестре по запросу: "parport.sys" - это драйвер низкого уровня для работы с портом. наткнетесь на папочку parport. а вот там есть интересный ключ start
contr » 06 май 2009, 11:57
при загрузке состояние линий порта гуляет. Это связано с тестированием его системой. После загрузки все линии данных D7..D0=0 (во всяком случае на моих РС) и до следующей перезагрузки будет висеть то, что оставила ваша прога управления.
На STATUS линиях LPT порта "1" присутствуют, поскольку это входы опроса состояния переферии. "1" могут висеть и на шине данных D7..D0, если порт переключен в режим входа.
Последний раз редактировалось
contr 06 май 2009, 12:07, всего редактировалось 1 раз.
MiBBiM » 06 май 2009, 12:04
хм. зачем выставлять что-то на ножках порта для теста, если проверить их уровень все равно невозможно?
как вариант система может проверить лишь определенные пины, чтобы понять, висит ли какое-либо устройство на порте.
contr » 06 май 2009, 12:12
Система уровень на ногах как раз и проверяет при включении. Делает это она и при работе с портом. Проверить и выставить можно все пины, только под ХР это много сложнее, там к LPT только через драйвер доступ.
С Вашим ДУ проще через СОМ работать. Там 3 линии OUT с защитой от КЗ. Скорость можно выставить. Пакеты передавать. Сторонние драйверы для управления не нужны. Прогу просто к USB привязать и т.п.
MiBBiM » 06 май 2009, 13:39
или все-таки посмотреть чего там в реестре понаписано

contr » 06 май 2009, 13:55
LPT - пережиток прошлого. С ним было удобно работать на старых компах под Win98. В современном оборудовании такого порта просто нет.
mimicon » 06 май 2009, 15:47
При прохождении ПОСТ ничего с портом не происходит. Статус меняется где-то в середине загрузки винды. За реестр, спасибо, только я что-то не очень понимаю, что это за значение.

То, что ЛПТ прошлый век, знаю )))) в большинстве делаю на PIC (по УЗБ), просто задача не заслужила еще в себе такую дорогую деталь ))))
Стало очень интересно, да и не охота переделывать аппаратную часть.
contr » 06 май 2009, 16:44
МК с аппаратной поддержкой USB - сложно и относительно дорого, а вариантов/примеров для СОМ навалом.
От гуляния уровней LPT порта при загрузке системы Вы не избавитесь, BIOS и правка реестра здесь не помогут. Или подключайте свой девайс после запуска системы и программы, или по определенной команде, поступающей по LPT.
realsystem » 07 май 2009, 18:15
Я просто регистр ставил на 561ой или 155ой серии

сильно не смейтесь, но работает
flyroman » 07 май 2009, 19:13
contr писал(а):LPT - пережиток прошлого. С ним было удобно работать на старых компах...
сам ты пережиток, да простите меня админы)) значит на старых компах было удобно, а теперь стало неудобно, у него что количество разрядов уменьшилось или как? есть такой порт, живет еще.
contr » 07 май 2009, 22:36
Win98 дозволяла напрямую работать с регистрами порта - быстро, просто, удобно. В ХР и т.д. к LPT можно достучаться только через драйвер, вернее через два. Про отсутствие ЛПТ на ноутах и пр. современном оборудовании рассказывать али сами уже заметили?
MiBBiM » 07 май 2009, 22:39
mimicon писал(а):что-то не очень понимаю, что это за значение.
если б знал, сказал бы. прст думаю что инфу о начальных значениях следует искать в реестре по запросам имен дров порта и имени самого порта. интуиция
