View Full Version : Parallela in C
Dove posso trovare info riguardo al comando della porta parallela in c? ah, un'altra cosa, io come compilatore uso il djgpp, ma è scomodino ogni volta fare il prog in blocco note e compilare da riga di comando.. c'è qualche ide veloce da scaricare ma versatile? (ovvero non turboc, visto che non permette di caricare librerie..)
VegetaSSJ5
09-11-2003, 17:48
per quanto riguarda la porta parallela non saprei che dirti, sono alle prime armi... :cry: :D :D cmq come ide hai mai provato dev-c++? secondo me è ottimo...
www.bloodshed.net
ottimo ide, grazie :) .. una sola domanda: come posso fare per metterci dentro delle librerie?
Per la parallela sotto Windows è un problema... Devi operare con le API di Windows...
CreateFile
WriteFile
ReadFile
CloseFile
DeviceIoControl
Originariamente inviato da cionci
Per la parallela sotto Windows è un problema... Devi operare con le API di Windows...
CreateFile
WriteFile
ReadFile
CloseFile
DeviceIoControl
e come le uso??
Su linux?
supertondo
09-11-2003, 18:50
Originariamente inviato da cionci
Per la parallela sotto Windows è un problema... Devi operare con le API di Windows...
CreateFile
WriteFile
ReadFile
CloseFile
DeviceIoControl
Qualche link con qualche esempio, un tutorial?
Sarebbe possibile anche riconoscere una periferica? (così mi programmo un programma per gestire il mio cell...immaginate...
Originariamente inviato da supertondo
Sarebbe possibile anche riconoscere una periferica? (così mi programmo un programma per gestire il mio cell...immaginate...
un programma utile x sfidare se stessi;)
Originariamente inviato da supertondo
Qualche link con qualche esempio, un tutorial?
Sarebbe possibile anche riconoscere una periferica? (così mi programmo un programma per gestire il mio cell...immaginate...
tutto è possibile, ma non attacchi 2 cavi e fai installazione nuovo hardware :D ! Devi fare l'interfaccia, driver e company..
Continuando il discorso parallela, non mi interessa per windows, infatti dovrei comandare il presepe da un 486, quindi dos :)
supertondo
09-11-2003, 19:37
Non so e non vorrei dire una fesseria, ma non penso sia impossibile e non penso servano i driver...cmq ho 16 anni e quel poco che so l'ho imparato da autodidatta
supertondo
09-11-2003, 19:42
Originariamente inviato da Luc@s
un programma utile x sfidare se stessi;)
Sempre sfidarsi!!! Se no non c'è stimolo per andare avanti. (che filosofo)
;) ;) ;)
Originariamente inviato da supertondo
Non so e non vorrei dire una fesseria, ma non penso sia impossibile e non penso servano i driver...cmq ho 16 anni e quel poco che so l'ho imparato da autodidatta
non ho mai detto che è impossibile, anzi, è possibilissimo, visto che esistono ;) , cmq anche io ho 15 anni e quel che so l'ho imparato da autodidatta, a scuola non si fa un cavolo di interessante (benché abbia scelto un itis ad indirizzo informatico), e dopo la moratti mi va a mettere informatica in 1 elementare :rolleyes:
Originariamente inviato da supertondo
Qualche link con qualche esempio, un tutorial?
Sarebbe possibile anche riconoscere una periferica? (così mi programmo un programma per gestire il mio cell...immaginate...
www.google.it ;)
Originariamente inviato da Luc@s
Su linux?
Su Linux no... E' tutto diverso...
Originariamente inviato da Matro
Continuando il discorso parallela, non mi interessa per windows, infatti dovrei comandare il presepe da un 486, quindi dos :)
Per DOS bisogna leggere e scrivere agli indirizzi della parallela (su 0x378 ad esempio ci puoi scrivere ed il dato in uscita sui pin dei dati)...
Con i compilatori Borland per DOS si usa inportb e ouportb...con i compilatori Microsoft per DOS si usa inp e outp...
Le linee di stato si possono usare come linee di input...
http://www.textfiles.com/computers/biprint.txt
Non è un argomento stupido e non è un argomento che può essere affrontato in un thread, perchè è la tipica domanda alla "come si costruisce una macchina"? ;)
http://www.everythinglinux.com.au/item/PP5134?elinux=d82d30b820a776e3e56a4fc92b9ffb0a
Originariamente inviato da cionci
Per DOS bisogna leggere e scrivere agli indirizzi della parallela (su 0x378 ad esempio ci puoi scrivere ed il dato in uscita sui pin dei dati)...
Con i compilatori Borland per DOS si usa inportb e ouportb...con i compilatori Microsoft per DOS si usa inp e outp...
Le linee di stato si possono usare come linee di input...
http://www.textfiles.com/computers/biprint.txt
interessante.. che libreria header devo richiamare per utilizzare queste funzioni? (uso il dev-c++, che è quindi basato sul mingw..)
Con MinGW realizzi programmi per Windows...quindi, a meno di gabole, non puoi avere accesso diretto alla porta... Devi usare CreateFile etc etc come scritto sopra....
io ho realizzato un programma dos che scriveva e leggeva una RAM tramite parallela.
la parallela è mappata come 24 bit ad un certo indirizzo di I/O (tipicamente 0x378 come ti è stato detto, in ogni caso tale indirizzo è settabile nel bios).
è caratterizzata da 3 parole
0x378 -> Dati
0x379 -> Controllo
0x380 -> Stato
Attraverso i bit di controllo controlli (scusa il gioco di parole) i piedini di controllo sulla parallela inoltre un bit di stato ti permette di settare l'input e l'output (in caso di input lo stato di riposo dei piedini di dato è 1 - sono tutti pullappati)
La parola di Stato ovviamente ti dice anche lo stato della porta.
Sotto dos non hai problemi e puoi fare tutti gli I/O che vuoi. Sotto sistemi con in modalità protetta (tipo NT) devi acquisire l'accesso alla risorsa però non ti so dire come il tutto avvenga per la parallela. :-(
Occhio che la parallela è rumorosa e se vuoi comandare un dispositivo veloce un disturbo potrebbe essere preso come un clock sulla parallela (a me succedeva con la RAM).
Feyd
Originariamente inviato da feyd
io ho realizzato un programma dos che scriveva e leggeva una RAM tramite parallela.
la parallela è mappata come 24 bit ad un certo indirizzo di I/O (tipicamente 0x378 come ti è stato detto, in ogni caso tale indirizzo è settabile nel bios).
è caratterizzata da 3 parole
0x378 -> Dati
0x379 -> Controllo
0x380 -> Stato
Attraverso i bit di controllo controlli (scusa il gioco di parole) i piedini di controllo sulla parallela inoltre un bit di stato ti permette di settare l'input e l'output (in caso di input lo stato di riposo dei piedini di dato è 1 - sono tutti pullappati)
La parola di Stato ovviamente ti dice anche lo stato della porta.
Sotto dos non hai problemi e puoi fare tutti gli I/O che vuoi. Sotto sistemi con in modalità protetta (tipo NT) devi acquisire l'accesso alla risorsa però non ti so dire come il tutto avvenga per la parallela. :-(
Occhio che la parallela è rumorosa e se vuoi comandare un dispositivo veloce un disturbo potrebbe essere preso come un clock sulla parallela (a me succedeva con la RAM).
Feyd
scusate se non avevo scritto + ma avevo perso di vista la discussione.. in che linguaggio hai programmato il tuo programma?
Ad esempio, questo codice funzina anche su MinGW...e, se non hai una stampante GDI (che ha bisogno di un ulteriore layer software), ti scrive sulla stampante...
http://www.firststeps.ru/mfc/winapi/r.php?12
Se cerchi su google "CreateFile LPT1" o "CreateFile LPT1 DeviceIOControl" troverai decine di link a riguardo...
DeviceIOControl serve per controllare le linee di stato della parallela...
Questi sono interessanti (solo il codice, il resto nonc i si capisce niente):
http://www.toyoshima-house.net/win32/parport_ja.html
E questo:
http://handsoff.infomedia.it/cgi-bin/lwgate/DEV-IT/archives/dev-it.log.9911/Subject/article-325.html
gurutech
04-12-2003, 00:09
ne approfitto per agganciarmi con questo
http://forum.hwupgrade.it/showthread.php?s=&threadid=573782
Goldrake75
04-12-2003, 01:33
Questi siti contengono cose interessanti riguardo il funzionamento
della porta parallela.
CLICCA (http://www.giobe2000.it/HW/Parallela/Pag/Home.asp)
CLICCA (http://www.ecn.org/sh404/projects/parallela.html)
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.