Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Sergey Mishunin Гость
|
Добавлено: Чт Янв 03 2002 21:51 Заголовок сообщения: Дуплексная связь через последовательный порт. |
|
|
Добрый день (вечер, ночь, утро) Всем!!!
Пишу программу для управления внешним устройством, предназначенным для тестирования электронных модулей. Хотелось бы иметь двухстороннюю связь между устройством и компом через последовательный порт. Пока же получается только посылать данные через LPT в устройство, а принимать не получается. Есть возможность выдавать от устройства сигналы на линии управления LPT порта, типа "нет бумаги" и т.д. Потом интерпретировать эти сигналы как мне надо, типа "модуль не исправен". Но это половинчатое решение. Хотелось бы иметь возможность считывать в компьютер байт данных. Вроде бы там "железо" в порту двунаправленное, но как читать байт данных из порта не знаю, знаю только как его записывать, через INT 17H BIOS. Подскажите, пожалуйста. В идеале ссылку на учебник в Инете, где имеется подробно коментированный пример программы для дуплексной связи через последовательный порт. Или киньте такой пример на E-mail, если не трудно.
С глубоким уважением. Сергей Мишунин. |
|
Вернуться к началу |
|
|
ComPort Library Гость
|
Добавлено: Сб Янв 05 2002 15:10 Заголовок сообщения: А в какой оси и на каком языке? Для Дельфи юзай по ссылке, там и дока есть |
|
|
ComPort Library is a set of components used for writing serial communication program. It is written for Delphi 3, 4, 5 and C++ Builder 3, 4, 5 on Windows 95, Windows 98, Windows NT 4.0 and Windows 2000 platforms.
Components in library: TComPort - basic component with a full set of send/recieve features TComDataPacket - component that allows data to be recieved in packets TComComboBox - combo box for selecting serial port settings TComRadioGroup - radio group for selecting serial port settings TComLed - component that shows the state of serial signals TComTerminal - VT52, VT100 and ANSI terminal emulation control ComPort Library also comes with full source code (cca 7000 lines), Delphi/C++ Builder context sensitive help file and some example projects |
|
Вернуться к началу |
|
|
Shark
Зарегистрирован: 20.01.2003 Сообщения: 6
|
Добавлено: Сб Янв 05 2002 20:32 Заголовок сообщения: Re: Дуплексная связь через последовательный порт. |
|
|
Какой всетаки порт? LPT или последовательный? По тексту сообщения наверное все-таки LPT. Простейшее решение -- прямая запись в порты. Пример: procedure PortOut(Port : word; B : byte); assembler; asm mov dx, Port mov al, B out dx, al end;
function PortIn(Port : word) : byte; assembler; asm mov dx, Port in al, dx end;
Под Win9X работает без всяких там Access Violation. Под NT не пробовал. Мыльни, обсудим подолбнее |
|
Вернуться к началу |
|
|
Shark
Зарегистрирован: 20.01.2003 Сообщения: 6
|
Добавлено: Сб Янв 05 2002 20:39 Заголовок сообщения: Маленькое дополнение |
|
|
Порт должен работать в режиме ECP/EPP. В этом случае бит 5 регистра управления определяет направление передачи: 0-вывод 1-ввод. Чтение и запись через регистр данных, линии D0..D7 в этом случае двунаправленные. Остальные сигналы -- как обычно. |
|
Вернуться к началу |
|
|
Sergey Mishunin Гость
|
Добавлено: Вс Янв 06 2002 15:16 Заголовок сообщения: Re: Дуплексная связь через последовательный порт. |
|
|
Блин, опечатка так опечатка! Разумеется, параллельный порт. Спасибо за пример и что указал на опечатку. Мне, кстати, через ФИДО хорошую доку и пример замылили. Там я вопрос задал без опечатки .
С уважением. Сергей. AKA 2:5057/18.209@FidoNet |
|
Вернуться к началу |
|
|
Mike
Зарегистрирован: 17.11.2001 Сообщения: 339 Откуда: ekb
|
Добавлено: Пн Янв 21 2002 15:49 Заголовок сообщения: Re: Дуплексная связь через последовательный порт. |
|
|
Ну дак написал бы и нам |
|
Вернуться к началу |
|
|
|