LPT като вход

3 отговора 153 прегледа
#1

LPT като вход

Извинявам се че преди не отговорих на тези които ми писаха.
Какво имам точно в предвид.
До колокото знам компютъра нормално може да прочете 5 бита от LPT /чете състоянието на принтера/
Направих асемблерен модул в Делфи за четене на състоянието порта / работи чудесно при ниска честота / но проблема е че трябва да прочета 8 битов сигнал от АЦП и ми се иска да използвам принтерския порт.

Какво ме кара да си мисля че е възможно. Скенера ми е вързан на принтерския порт а към скенера ми е вързан принтера. Не ми се вярва скенера да предава информацията си на полу-байт.
Благодаря за всички мнения.

Отговор
в отговор на Cвeтлин #2

Re: LPT като вход //nqma problemi

Nqma nikakyv problem da polzvash LPT-to kato 8bitov vhod stiga da ti e Bi-directional . (Samo naj-starite I/O kartiti sa samo maj uni-directional , no se sreshtat i sred tqh takiva s bi-directional portove). Za da upotrebish LPT-to kato 8bitov vhod e neobhodimo da napravish slednoto neshto:

int byte=0;
int base = 0x378;
....

byte = in(base+2)
if(!(byte&0x20))
{ byte ^= 0x20;
outb(byte,base+2); //enable bidirectional mode
}

Minimalnoto vreme za chetene ot LPT-to , pone pod Linux e 1uS , koeto mi dokarva 1Mbps pri neprekysnato scannirane i chetene ot neshto zakacheno za porta i bylvashto danni kato v sluchaq nqma synchronizaciq. Pri upotreba na nqkakyv SYNC sygnal, bitrate pada razbira se ;) .

-rwx------
Отговор
в отговор на lceman #3

Re: LPT като вход //nqma problemi

Не схванах идеята. ако може да ми обясниш по-подробно
Извиква се базовия адрес на порта +2
Имали прекъсване с функция която задава на порта че ще се чете от него 8 битови дани.

Процедурата трябва да е на асемблер.
Бирата ще е от мен

Отговор
в отговор на svetlin #4

Re: LPT като вход //nqma problemi

ami potasi v GOOGLE opisanie na paralelen port! tam pise vsicko!!! (ne go pomna na izist)
tova koeto ti kaza coveka sigurno e taka!
moje da go nakaras da ti generira prekasvane, kakto i da polzva DMA! t.e. nema da poliras neprekasnato!

Отговор