Carsten: C-Problem: Parralelport nach einem bestimmten Pin abfragen !

Beitrag lesen

Hallo Sebastian!

Hardwarebastelen ist zwar eher offtopic hier, aber immerhin SELF ;-)

So würde ich es machen, vielleicht iss ja die eine oder andere Idee für dich dabei.

http://www.ucl.ac.uk/~ucapwas/pportbas.html
http://www.doc.ic.ac.uk/~ih/doc/adc_dac/tlc549/tlc549.html

___
CS=PIN2 =D0  _|    =Start Conversion
                        ___
I/O Clock=PIN3 = D1  __|   |__  Shift Data out

Data Out=PIN11=BUSY = D7 vom statusport, invertiert
oder     PIN12=PaperEmpty= D5 vom statusport

/***************************************************

ungetestet!

*/

int i;
int data;
int in;
int port=0x378; /* LPT1 */

outportb(port,1);
outportb(port,0); /* Start Conversion */
data=0;
for(i=0;i<8;i++)
{
  in=inportb(port+1);

data<<=1;
  if(!(in&0x80)) /* 1 bit bekommen */
    data|=1;

/* oder per Paper empty
  if(in&0x20)
    data|=1;
*/

outportb(port,2);  /* Shift Clock */
  outportb(port,0);
}
outportb(port,1);

/***********************************************/

Gruss,
 Carsten