[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ: (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Хрыч 24 января 2002 г. 08:45
В ответ на: Как переключить шину данных LPT порта на ввод. отправлено Andy Mozzhevilov 24 января 2002 г. 07:25

Недавно кстати уже обсуждалась эта тема. Теоретически ввод по D0...D7 поддерживают 2 режима EPP и ECP. Но реально на практике мне удалось добиться ввода только в режиме EPP. Возможно из за того что ECP порт имеет дополнительные регистры контроля ( Base+401 и Base+402 ), к которым я не обращался ( см. описание http://www.beyondlogic.org/ecp/ecp.htm#9 ), а у EPP порта можно использовать регистры те же что и у SPP ( EPP можно использовать еще base+3 и base+4 ). Также есть неопределенность с тем, что надо записывать в управляющий регистр для переключения на ввод. У меня опытным путем получилась константа 0xE0
и после команды типа outportb(base_add+2,0xE0); - все получается. Но на всякий случай рекомендую все же поставить в разрыв линий шины D0..D7 резисторы где нибудь по 200 ом. Чтобы не соединились 2 выхода ( ваш девайс и LPT ), если порт останется в режиме вывода.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru