INPUT OUTPUT DA PARALLELA

Sep 03, 2004 4 Replies

Ho effettuato il porting su DOS (in turbo pascal) del programma lptransfer (vedi sourceforge) per la comunicazione tramite parallela tra 2 PC. Il cavo è così creato



2 - 15
3 - 13
4 - 12
5 - 10
6 - 11
10 - 5
11 - 6
12 - 4
13 - 3
15 - 2
16 - 16
17 - 17
25 - 25 Il problema è che in uscita i bit si riescono ad inviare (sulla porta
378h) e col tester vedo all'altra estrmità del cavetto i segnali logici corretti sui pin 11,10,12,13,15 ma in ingresso (leggendo quindi dalla porta 378h+1) non ottengo niente , sempre lo stesso valore (diciamo 127)

Sapete se esiste qualche registro da impostare ? Leggendo

formatting link
a pag 16 c'è un registro dove indicare "standard mode".



Sto usando Turbo Pascal dal Prompt del DOS (sia da XP che WIn2k), ma anche con un freedos ottengo la stessa cosa.



Vi è mai capitato di dover leggere segnali dalla parallela attraverso lo status register ?


con XP e 2K non puoi accedere direttamente all'HW senza usare un driver...... quindi se usi il comando "port" del pascal non funzionerà mai. Devi far girare il programma in DOS puro (con Xp formatti un dischetto e metti la spunta per creare un dischetto di avvio dos e poi avvii il pc con quello)

in alterativa riporti il programma in delphi e lo compili assieme ad una libreria che ti permette di accedere alle direttamente alle porte da una piattaforma NT (da un occhio su

formatting link

Posta in uscita controllata ed esente da virus. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.751 / Virus Database: 502 - Release Date: 02/09/2004

snipped-for-privacy@email.it (Merco) ha scritto:

Si, e funzionava... ma ti parlo di 7-8 anni fa, quando ancora usavo il Turbo Pascal in DOS... Ricordo che non c'era nulla di particolare a cui stare attenti, se non qualche negazione implicita su alcuni pin. Per il resto bastava leggere le porte 379 e 37A.

-- Per rispondermi via email sostituisci il risultato dell'operazione (in lettere) dall'indirizzo

Ciao Vuoi leggere i fili di comando, non gli otto bit.

Non so se ti possa servire, ma col vituperato Qbasic si fa cosi':

REM out da pc porta parallela REM porta di controllo &h37A REM bit 0 per strobe (pin 1) bit 8 per select (pin 17) FOR k = 1 TO 90 OUT (&H37A), 4 PRINT " mando 1 su pin 17"

FOR i = 1 TO 10000: NEXT OUT (&H37A), 0 PRINT "mando zero"

FOR i = 1 TO 20000: NEXT NEXT k

END

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ REM ingpar ingressi a porta parallela REM porta &h379 bit 4 (val 16) pin 10 a = INP(&H379) a = a AND 16

IF a = 16 THEN PRINT "alto sul pin 10": GOTO fine PRINT "basso sul pin 10" fine: END

Ciao Giorgio

On 2 Sep 2004 23:15:38 -0700, snipped-for-privacy@email.it (Merco) wrote: :Sapete se esiste qualche registro da impostare ? :Leggendo :

formatting link
a pag 16 c'è un registro dove :indicare "standard mode".

Allora, e' passato un po' di tempo; comunque se il pc non e' troppo vecchio la parallela dovrebbe essere bidirezionale (lo vedi dal bios ecp/epp) , cioe' li otto bit di uscita si possono impostare in input settando un bit da qualche parte (forse porta

037Ah) e poi leggere il byte (forse 0379h). Xp e' particolarmente rognoso per questi lavoretti. Ciao.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required