Здравствуйте, vobreeze, Вы писали:
V>Всем привет!
V>В настоящее время пытаюсь соединить два компьютера через lpt порт. Использую двунаправленный режим (настройка Bi-directional в BIOS компьютеров).
Во-первых, нет гарантии, что после запуска ядра порт останется в том режиме, в который его перевела BIOS. Возможно, нужно принудительно выставить бит 5 в регистре управления.
V>Для передачи данных использую Control Port (Base Port + 2). Распиновка этого порта следующая:
V>Bit0 Pin1
V>Bit1 Pin14
V>Bit2 Pin16
V>Bit3 Pin17
V>и так далее
Во-вторых, насколько мне известно, для bi-directional используется регистр данных:
V>Для записи в порт и чтения из порта использую outb и inb макросы, когда записываю в порт данные 000001 на обоих компьютерах я могу их прочитать и даже померять мультиметром — на Пин1 при этом 0 Вольт (Strobe инвертирован), когда записываю в порт 000000 (Strobe теперь установлен в 0), на Пин1 появляется логическая единица — 5 Вольт. Вроде все работает, но когда я соединяю два компьютера этим проводом, предварительно записав в порт на каждом из них 000001 (0 Вольт на на Пин1), затем на первом компьютере записываю в порт 000000 (5 Вольт на Пин1), читаю из порта на первом компьютере — все ок, читаю из порта на втором компьютере — ничего не поменялось. Казалось бы на конце провода должно быть 5 Вольт, то есть состояние порта на Пин1 второго компа должно стать 5 Вольт (000000), но оно остается 0 Вольт (000001).
V>Провод рабочий, пины 1, 14, 16, 17 на обоих концах прозваниваются — соединены напрямую.
Не боитесь порты сжечь таким соединением?
V>Вопрос: почему?
Может, уже сожгли?
V>Может посоветуете какой-нибудь guide?
здесь или вообще
здесь