На этой странице размещенны описания парралельного LPT порта которым очень легко управлять и у которого скорость может доходить до 2 Мбит в секунду. Для очень медленных процессов эта незаменимаю штука потому что очень простая.Для того чтобы работать с этим портом необходимо только его инециолизировать то есть в регистр с адррессом 37a записать H"c4" после этого через порт можено передовать информацию читать и записывать. По адрессу 37c любые данные. Еще хочу сказать одну вещь то что различные порты отличаются у разных компьютеров и надо не забывать что некоторые китайские производители забывают ставить поддягивающие резисторы. И это может послужить некоторой ошибкой если вы будите ставить последовательно выходам резисторы!!! А так в принципе все хорошо и нормально работает. Естественно програмки для записи и четения пишуться либо под XP либо 98 windows. и поэтому необходимо это учитывать. Если работаем с 98 то используем прямое обращение к портам inport() или outport().
А если работаем в XP то необходимо поставить драйвер Userport и после открыть необходимые для работы порты и использовать теже функции inport() и outport();
Описание на асемблере outport()
_asm
{
mov edx, port
mov al, data
out dx, al
}
Описание на асемблере inport()
_asm
{
mov edx, port
in al, dx
mov al,data
}
Где port это адресс порта data это данные порта. Эта ассемблерная вставка считывает даные 8 бит а для того чтобы считать 16 бит необходимо заменить регистр al на ax. А чтобы читать 32 разряда неоходимо заменить al на eax и это будет выглядеть следующим образом: Описание на асемблере outport()
_asm
{
mov edx, port
mov ax, data
out dx, ax
}
Описание на асемблере inport()
_asm
{
mov edx, port
in ax, dx
mov ax,data
}
Далее приводяться описания ECP порта в разных режимах которые можно скачать!!!
Надеюсь эти описания помогут вам изучить LPT порт для того чтобы сделать на основе него какое либо интересное устройство которое помежет вам в дальнейшем освоить болле сложные интерфейсы !!!
Подробный справочник
Режим ECP
ECP (Extended Capabilities Port) — расширенный режим параллельного порта LPT, ориентированный на высокую пропускную способность при работе с принтерами и сканерами. В отличие от EPP, ECP использует буфер FIFO, передачу через DMA (без постоянного участия процессора) и аппаратное сжатие RLE для повторяющихся байтов.
Чем отличается от EPP
EPP оптимизирован под быстрый обмен «регистр-за-регистром» с приборами, где важна малая задержка одиночной операции. ECP — под потоковую передачу больших объёмов (печать, сканирование), где выигрывают буферизация и DMA. В BIOS порт обычно можно переключить между SPP, EPP и ECP или их комбинацией.
Распиновка
Физически это тот же разъём DB25 с линиями данных D0–D7, управляющими и статусными сигналами. Полную распиновку смотри в справочнике распиновок, а быстрый двунаправленный режим — в разделе LPT · EPP.
Применение
ECP уместен, когда через порт идёт большой поток данных. Для самодельных приборов и программаторов чаще выбирают EPP или базовый SPP. Управление портом на микроконтроллере — в разделах PIC и AVR.