ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
26 июня
55056 Топик полностью
Ксения (27.03.2006 13:35, просмотров: 1) ответил Make_Pic на А что нет такого режима - аппаратного считывания содержимого параллельного порта и записи данных в память, в момент выполнения программы? Наверно мне это приснилось! :(
Не приснилось. ECP-мода параллельного порта на многих материнках поддерживает DMA Смотрите в описании своей материнки "ECP DMA Select" и сопутствующие материалы. DMA (Direct Memory Access) в режиме ECP поддержан драйвером принтера. К сожалению, использование этой возможности ограничено двумя трудностями: 1) Внешнее устройство должно соблюдать протокол ECP 2) Драйвер конкретного принтера чаще всего узурпирует права на параллельный порт настолько, что мешает (порою делает невозможным) использовать этой функции железа. (Хотя там есть \system32\driver\parport.sys для низкоуровневого обмена). Последнее - наиболее гнилое место, затрудняющее прямое использование LPT- и COM-портов в системе Windows. И если COM-порт оказывается обычно не занятым и может быть использован посредством функцией API, то на LPT-порту обычно висит один из бесчисленного множества принтерных драйверов, ключи к которому подобрать не представляется возможным. Доступ к регистрам LPT-порта можно получить с помощью "хакерского" драйвера (так работает, например, AVReal32) и поработать с ним напрямую в то время, когда принтер не используется. Но организация DMA-канала на этом уровне - дело стрёмное :-).