Одновременная отправка и получение данных через параллельный порт

Если я правильно понимаю параллельный порт, отправка данных с (D0 до D7) одновременно, но что он может управлять стиками индивидуально? пример:

D0 = Input
D1 = Input
D2 = Output
...
...
...
D7 = Input

это сработает? я хочу одновременно отправлять и получать данные.


person Ninjacoder    schedule 29.03.2009    source источник


Ответы (5)


Этот сайт является хорошим источником для программирования параллельного порта.

Основная идея заключается в том, что вам нужна DLL, надстройка или библиотека, которая позволяет получить доступ к портам ввода-вывода ПК. Для Windows XP и более поздних версий вам понадобится специальный драйвер, который позволит вам это сделать, поскольку ОС не предлагает доступ из коробки.

Параллельный порт обычно находится по одному из трех адресов 278,378, 3BC. Этот порт. есть байты, которые вы читаете или пишете.

Порт (базовый) +1 обеспечивает доступ к байтам состояния. IE. 279 379, 3BD

Порт (базовый) +2 обеспечивает доступ к байтам управления. IE. 27А, 37А, 3БЕ

Документация по параллельному порту расскажет не только о том, как реализовать общие режимы (например, двунаправленный), но и о том, как управлять портом на уровне байтов, чтобы реализовать свои собственные.

Раньше был доступен только стандартный режим. Вы качаете свои байты в (базовый) порт. Некоторые приложения, такие как мое, манипулировали отдельными битами этих портов как разновидность дешевого контроллера цифрового ввода-вывода. Мы использовали байты состояния и управления в качестве дополнительных входов и выходов. Были команды, которые вы можете отправить на микросхему параллельного порта, чтобы точно настроить режимы.

Сегодня существуют сотни сайтов с примерами использования параллельного порта для решения всевозможных проблем. Я был бы удивлен, что в одном из них нет того, что можно было бы использовать для конкретного приложения.

И снова книга, с которой я рекомендую начать, завершена. В нем рассказывается практически все, что вам нужно для начала. Если ваше приложение слишком эзотерично для этой книги, оно станет трамплином, на котором вы сможете найти именно ту настройку, которая вам нужна.

person RS Conley    schedule 29.03.2009

Провода данных (D0-D7) считываются или устанавливаются одновременно. О различных методах двунаправленного ввода-вывода читайте в прилагаемых статьях:

Стандартный параллельный порт: http://www.beyondlogic.org/spp/parallel.htm

EPP: http://www.beyondlogic.org/epp/epp.htm

ECP: http://www.beyondlogic.org/ecp/ecp.htm

person Dmitry Khalatov    schedule 29.03.2009

Конечно, отправив число, в котором установлен только необходимый бит (2 n), вы получите ожидаемый результат.

Хотя насчет двунаправленного доступа я не уверен. Я предполагаю, что это достигается за счет использования выводов управления вместе с выводами данных, но это только предположение.

person mmx    schedule 29.03.2009

Параллельные порты, выполняющие EPP или ECP, позволяют D0-D7 быть только входом или всем выходом. Попытка сделать иначе может сгореть ваше оборудование.

См. http://www.nor-tech.com/solutions/dox/ieee1284_parallel_ports.pdf, стр. 6.

Однако у параллельных портов есть несколько линий управления, которые могут быть полезны, если вам нужен только небольшой объем ввода / вывода в «другом» направлении.

person brian-brazil    schedule 29.03.2009
comment
Параллельные порты ввода-вывода обычно защищены от перегрузки по току ввода-вывода (либо размерами полевых МОП-транзисторов, которые образуют ввод-вывод, либо последовательными резисторами). Не жарится. - person jpinto3912; 05.06.2009

Я считаю, что его бит 5 в регистре управления портом (базовый адрес + 2) переключает направление. (аппаратная линия не подключена)

person Mike Hostalek    schedule 19.04.2013