Здравствуйте, люди добрые! Поможите пожалуйста, сами мы не местные... Есть девайс, подключаемый к компу по LPT в режиме ECP. Написана прога, которая с этим девайсом общается. Появилась необходимость к одному компу подключить еще один такой же девайс, в связи с чем была куплена мультипортовая PCI-плата NetMos 9835 2COM + 1LPT. Плата определилась, дрова поставились, порты появились, однако возник следующий трабл. Стандартный LPT1 имеет базовый адрес 037Fh и со смещением 0400h как и положено FIFO буфер ECP-режима. Дополнительный же порт на мультяхе имеет следующие диапазоны I/O: E800h-E807h и E480h-E487h. Если предположить, что один из адресов базовый, а второй - FIFO буфера, то смещение 0400h не получается. В настройках проги, которая общается с девайсом, есть возможность вручную задать базовый адрес и адрес FIFO. Пробовали разные варианты, ни в одном не работает. Во вкладке свойств драйвера ничего поменять нельзя, можно только переназначить с LPT3 на LPT2 и наоборот. При этом указанные адреса не меняются. Попробовали другую аналогичную плату, без COM-портов, только LPT. Диапазоны адресов другие, но все равно смещение не 0400h и ничего не работает. В Win9x/Me вроде возможно переназначение адресов, как сказано в описании на плату, но нужно чтобы работало в WinXP, а там переназначить адреса не получается. Если кто подключал девайсы через дополнительные LPT-порты, поделитесь пожалуйста опытом. Заранее спасибо!
> А кой-нить другой софт в ентой железке ECP усматривает? Не-а. Похоже, что железка не в ECP режиме работает.
****PCI-плата NetMos 9835 2COM + 1LPT.**** А я тоже купил эту плату, только без комов. Хотел поставить свой драйвер для порта и ничего не получилось... Интересно, это вообще возможно без переписывания драйвера самого нижнего уровня?
Я что-то не понимаю проблему. Ведь стандартнвй драйвер должен находить вторую область В-В в любом случае независимо от смещения. Ваша прога ведь использует API, а не сама по заданным смещениям пишет... Все должно работать, если конечно ребята из нетмос делая свою плату позаботились о том, чтобы стандартный драйвер мог работать с ней в режиме ECP. Кстати, я раньше думал, что ECP-режим включается установкой бита разрешения чтения. Но ведь чтение осуществляется из порта 0x378(в стандартном случае), тогда логично предположить, что в другой области вв находится не FIFO, х/з знает что, возможно какие-нибудь управляющие регистры FIFO. Я правильно себе представляю этот режим ECP?
RayGun не надо путать низкоуровневое обращение к порту и базовые адреса портов PCI устройства !!! Это две большие разницы! В вашем случае ставится драйвер и ВСЯ РАБОТА со вторым портом, дипустим LPT2 ТОЛЬКО средствами винды win32api... \\LPT\... И не надо там 0x400 разницы искать ЕЁ там НЕТ и не должно быть.