PDA

Просмотр полной версии : Настройка LPT?


Оленевод Бельды
01.12.2004, 14:51
:help: Проблема в следующем:
Требуется замедлить работу программы, в частности, выдачу данных в LPT-порт. Где-то пролетала инфа, что в 98-й винде, в файле WIN.INI в разделе [Ports] надо каким-то образом поправить строку "LPT1:=". Тогда можно менять скорость порта. Вот только что там надо поставить, я не знаю. :idontnow:
Если кто-нибудь подскажет - буду премного благодарен.

Dr.God
01.12.2004, 17:51
Не знаю насчёт LPT, но на COM - скорость 9600 бит/с.
Вообще почитай (http://novell.h1.ru/novelldos/mode.htm) про команду mode, хотя и не совсем то, но может помочь.

Mg0
01.12.2004, 19:04
Оленевод Бельды
Ты колись, зачем тебе это нужно, и что ты собираешься на этот порт вешать. Из стандартных управляющих сигналов параллельного порта на вывод (-STROBE, -AUTO FD, -INIT и -SLCT IN) и на ввод ( -АСК, BUSY, РЕ, SLCT и -ERROR) три обслуживаются драйвером порта, а остальные -- драйвером принтера или сканера. Для соединения двух компов по LPT часто применяются нестандартные протоколы со своим управлением. И, немного представляя принципы работы порта, я сильно сомневаюсь в необходимости и возможности абстрактного управления скоростью порта, т.е. безотносительно висящих на нем устройств.

Оленевод Бельды
02.12.2004, 11:55
Mg0, колюсь:
К ЛПТ я подключаю кабель для работы с сотовыми телефонами (разлочка, перепрошивка). Интерфейс с портом и этих программ сугубо левый, потому что все они стопудовые самопалы. Один разряд дата - на вывод данных, другой - синхро, BUSY - на ввод. Да к тому же писаны ещё на 486-х, под медленный ЛПТ. И все временные интервалы, по видимому, сляпаны из холостых циклов ввода/вывода (сам когда-то этим грешил). Поэтому при переходе на более свежее железо они работают слишком быстро. Задача затормозить каким-то образом эту программу.

Mg0
03.12.2004, 01:07
Дык тут вряд ли что можно сделать. Эти проги -- они что, виндовые что ли? Если нет, то их запуск из ДОС-шелла ХР в любом случае приведет к непредсказуемым результатам. В случае, если программы у тебя -- в текстах, то проще добавить waitstiat'ов сколько надо (а сколько надо -- определить эмпирически) -- но даже в этом случае сомнительно. Винда ведь блокирует прямой и монопольный доступ к ресурсам -- там всё через соответствующий API.
Если ты занимаешься этим профессионально, то я бы на твоем месте купил за смешные деньги какую-нить 486-ю систему и продолжил бы эту деятельность на ней. Кстати, LPT для мобильников -- решение, имхо, экзотическое. Обычно ведь СОМы пользуют. А там baud rate выставить -- не проблема.

Оленевод Бельды
03.12.2004, 13:00
Программы под W98. Исходников этих программ, конечно, никто не даст. А всё-таки, что это за строчки "LPT=" в WIN.INI? Там же ведь дальше-то идёт:
LPT2:=
LPT3:=
COM1:=9600,n,8,1,x
COM2:=9600,n,8,1,x
COM3:=9600,n,8,1,x
COM4:=9600,n,8,1,x
Т.е. КОМки изначально настраиваются на какую-то конкретную скорость, а ЛПТ - по дефолту. Даже просто для общего развития хотелось бы узнать, что там можно сделать с ЛПТ. Ведь не просто же так туда воткнули эти строки?
А ЛПТ для мобильников - да, можно сказать, экзотика. Это только для старых Нокий и только для прошивки. Они почему-то флешатся не так как все нормальные телепоны. С 486 связываться, честно говоря, не хочется ради пары-тройки телефонов в неделю. Места и так не хватает, а тут ещё один ящик, да с монитором. Да и перетыкаться туда-сюда - тоже геморрой. Кроме этих программ, остальные ходят под ХР.

Mg0
03.12.2004, 13:51
Тут должен тебя разочаровать. LPT секция в Виндах заточена только под принтеры, и ежели ты хочешь пользовать LPT в других целях, нужен соответствующий софт низкого уровня. Секция [LPTx:] в WIN.INI тебе не поможет:LPT (parallel), EPT, FILE, and LPTx.DOS ports do not take parameters. Т.е. "LPT (parallel), EPT, FILE, и LPTx.DOS порты не принимают параметров" Цитируется по Resource Kit WIN.INI Section Settings -- подробнее см. http://support.microsoft.com/default.aspx?scid=kb;en-us;83433. В этих условия управлять можно только таймаутом порта, а он задается в свойствах соответствующего принтера. Кроме того, ХР сохраняет WIN.INI только из соображений совместимости с какими-то старыми приложениями, а актуальную информацию на самом деле хранит в реестре.
[оффтоп]
Помнится мне, были какие-то одноплатные компьютеры на базе 486-х со своим процессором и памятью. Они сажались в систему через ISA-шину, а последние модели -- через PCI и получали доступ к вводу-выводу компа. Для загрузки такой шняги был специальный загрузчик. Может, такую хрень где-то поискать?
[/оффтоп]

Оленевод Бельды
03.12.2004, 14:02
Благодарю. Вопрос, видимо, исчерпан.

Оленевод Бельды
06.12.2004, 09:26
Mg0, не поможешь ли колонуть эту прогу? Я пытался её дизассемблить, но EXEшник упакован. Чем можно его распаковать?

Mg0
06.12.2004, 09:46
Увы, это не ко мне :( Давненько не брал я в руки шашек... С ассемблером в последний раз встречался году эдак в 96-м. И сам с тех пор почти ничего и не писал. Вот пофлудить на тему о железе -- хоть двести порций. А че-то конкретное сделать...
Ты лучше вот что. Задай этот вопросец в "Программировании" или хоть про упаковщики экзешников в "Программах" спроси. Или проверь эту прогу хоть "Касперским" -- он тебе должен сказать, чем упакован.