Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-04-2005, 17:23   #1
idt_winchip
Senior Member
 
L'Avatar di idt_winchip
 
Iscritto dal: Aug 2004
Città: Firenze - Campi B.
Messaggi: 2226
Inviare/Ricevere dati dalla porta parallela

Ho bisogno di poter utilizzare la porta parallela per comunicare con un dispositivo da me costruito.
So che su windows (soprattutto NT) ci sono dei problemi per comunicare con la porta parallela.

Il fatto è questo: devo sviluppare un applicazione in borland c++ builder che possa settare e acquisire il valore dei pin della porta parallela.
Mi sono informato un po e credo di aver capito che le cose si complicano se voglio utilizzare più di 4 bit del registro dati.
Per l'appunto io devo poter lavorare su 5 pin , di cui 4 devono inviare alla periferica i valori da me voluti e devo poter essere in grado di leggere il valore del bit che ritorna.

Avrei intenzione di collegare i primi 4 dal pin 2 al pin 5 (D0-D3) e il quinto....in qualche parte dove sia possibile leggere il contenuto...si..ma dove!

E se me ne infischio di windows e dentro il sorgente C metto un codice in assembler con istruzioni di in/out funziona o windows mi impedisce di fare una cosa del genere anche a livello di assembler?

help....mi serve per il progetto d'esame
idt_winchip è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2005, 00:48   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Re: Inviare/Ricevere dati dalla porta parallela

Quote:
Originariamente inviato da idt_winchip
E se me ne infischio di windows e dentro il sorgente C metto un codice in assembler con istruzioni di in/out funziona o windows mi impedisce di fare una cosa del genere anche a livello di assembler?
Te lo impedisce... In Win NT/2k/XP non puoi utilizzare IN e OUT, ma devi passare solo attraverso le API...

C'è l'API Set/GetCommState...anche se mi sembra progettata più per la seriale...

In teoria le linee aggiuntive per l'handshake sulla parallela ci sono...ti basterebbe leggere quelle e lasciare la parallela con 8 bit in uscita...

Ultima modifica di cionci : 11-04-2005 alle 00:54.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2005, 19:52   #3
idt_winchip
Senior Member
 
L'Avatar di idt_winchip
 
Iscritto dal: Aug 2004
Città: Firenze - Campi B.
Messaggi: 2226
Quote:
Originariamente inviato da cionci
Te lo impedisce... In Win NT/2k/XP non puoi utilizzare IN e OUT, ma devi passare solo attraverso le API...

C'è l'API Set/GetCommState...anche se mi sembra progettata più per la seriale...

In teoria le linee aggiuntive per l'handshake sulla parallela ci sono...ti basterebbe leggere quelle e lasciare la parallela con 8 bit in uscita...
Scusa ma non ho capito l'ultima frase.
Ti stavi riferendo al fatto di poter trasferire 8 bit invece che 4 o alla possibilità di comunicare con quelle API?
idt_winchip è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2005, 21:27   #4
vici_1
Senior Member
 
L'Avatar di vici_1
 
Iscritto dal: Aug 2002
Messaggi: 581
Non so se ti puo' essere utile , oppure se ne eri gia' a conoscenza, ma su questo sito molto interessante per programmare in assembler hanno scritto dei driver per utilizzare le porte parallele e seriali sotto gli SO win NT,2000,XP.
Infatti come dice cionci l'accesso tramite in,out sotto questi SO non e' possibile.
Prova a vedere se c'e' qualche cosa o qualc'uno che puo' esserti d'aiuto.
ecco il link alla pagina specifica : http://www.giobe2000.it/Consigli/Scarica_VediLPT_XP.htm

e per ulteriori informazioni dalla pagina che ti ho segnalato, vai al link dove nel riquadro c'e' scritto :

Consulta le istruzioni per installare
il Driver che consente
l'accesso all' I/O in ambiente
Win2000, WinNT& WinXP
vici_1 è offline   Rispondi citando il messaggio o parte di esso
Old 12-04-2005, 23:01   #5
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Sulla rivista n° 221 (la penultima) di Nuova Elettronica c'è un progettino per testare la porta parallela, e con esso un programmino dimostrativo, scritto in VB6 che utilizza una dll che si chiama io.dll, con la quale si gestisce appunto la porta parallela sotto Windows 2000 e XP senza alcun problema.
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 00:34   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da vici_1
Consulta le istruzioni per installare
il Driver che consente
l'accesso all' I/O in ambiente
Win2000, WinNT& WinXP
Se volete ce l'ho anche io un driver che permette di usare IN e OUT sotto NT/2K/XP, ma mi sembra un po' come ammazzare un uccellino con un colpo di cannone... Quello che ho io si chiama giveio.sys...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 12:36   #7
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ma aprirla con una stupidissima CreateFile no, eh?
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 16:44   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Con la CreateFile la parallela viene configurata in amniera diversa da come serve a lui...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 19:39   #9
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
hmmm... perché?
non è sufficiente scrivere e basta?
se non gli interessa scrivere solo su certi bit basta che invia un byte in cui in corrispondenza di quei bit c'è 0
mi pare difficile che da user mode non si possa controllare la parallela...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 20:45   #10
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
C'è l'apposita dll che risolve tutto, non vedo perchè complicarsi la vita!
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 20:56   #11
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
usare le funzioni che mette a disposizione il C (che vanno direttamente sul bios) per la comunicazione?! mi sembra la soluzione + veloce
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2005, 22:43   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
eeeeeeeeeehhhhh???????? cosa fanno queste funziooooooooni???
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 07:39   #13
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da sirus
usare le funzioni che mette a disposizione il C (che vanno direttamente sul bios) per la comunicazione?! mi sembra la soluzione + veloce
Parli delle funzioni bios* del Turbo C ? Funzionano solo se fai un programma a 16 bit... In altri ambienti non funzionano...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 07:41   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Brigante
C'è l'apposita dll che risolve tutto, non vedo perchè complicarsi la vita!
Secondo me quella DLL non è mai una buona scelta...perchè permette a qualsiasi programma di accedere direttamente all'hardware... Sinceramente io non metterei mai una DLL del genere in un software di produzione... Se si tratta di una programma di prova ben venga...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 07:52   #15
Brigante
Senior Member
 
L'Avatar di Brigante
 
Iscritto dal: Apr 2004
Città: Lariano (RM)
Messaggi: 1372
Quote:
Originariamente inviato da cionci
Secondo me quella DLL non è mai una buona scelta...perchè permette a qualsiasi programma di accedere direttamente all'hardware... Sinceramente io non metterei mai una DLL del genere in un software di produzione... Se si tratta di una programma di prova ben venga...
Bè, anche se non c'è una dll posso fare un programma che accede all'hardware, utlizzando magari le stesse istruzioni che usa la dll al suo interno, no? Quindi...
__________________
Careful With That Axe
Brigante è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 07:53   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da 71104
hmmm... perché?
non è sufficiente scrivere e basta?
se non gli interessa scrivere solo su certi bit basta che invia un byte in cui in corrispondenza di quei bit c'è 0
mi pare difficile che da user mode non si possa controllare la parallela...
"Avrei intenzione di collegare i primi 4 dal pin 2 al pin 5 (D0-D3) e il quinto....in qualche parte dove sia possibile leggere il contenuto...si..ma dove!"
Vuole 4 bit in uscita ed uno in ingresso...
Se guardi qui: http://support.microsoft.com/default...79&Product=vb6
C'è scritto you cannot read dato from parallel port...

Ripeto...c'è la funzione GetCommState da cui credo che si possa leggere anche lo stato delle linee aggiuntive... Tutto sta nel vedere a quale linea corrispondono...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 07:54   #17
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Brigante
Bè, anche se non c'è una dll posso fare un programma che accede all'hardware, utlizzando magari le stesse istruzioni che usa la dll al suo interno, no? Quindi...
No...perchè quella dll si basa su un driver che va installato con i privilegi di amminsitratore...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 08:15   #18
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Se guardi qui: http://digilander.libero.it/toniobru...%20Control.htm
I pin utilizzabili per l'input in modalità SPP (cioè non ECP o EPP in cui le linee sono bidirezionali) sono dall'11 al 15... Tutto sta ora vedere se con GetCommState puoi leggerne lo stato... Ma come vedi quel programma non funziona su Windows 2k/XP...

http://www.risorsehitech.it/elettron...parallel/2.php
Sopra si può vedere che il pin usato per il busy...quindi un pin di ingresso è il pin 11 (che anche quello usato per l'handshake con la parallela)... Ora si tratta di vedere come si può leggerne lo stato...

Attenzione non dico di programmare l'interfaccia con handshake (cosa possibile con SetCommState), che renderebbe tutto più complicato, anche se comunque fattibile implementando un protocollo di timing fra il raise del busy (dopo ad esempio aver mandato un particolare dato in uscita) e il suo rilascio...ma di lasciare tutto senza handshake e monitorare costantemente il livello di queste linee...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 14:47   #19
idt_winchip
Senior Member
 
L'Avatar di idt_winchip
 
Iscritto dal: Aug 2004
Città: Firenze - Campi B.
Messaggi: 2226
innanzitutto vi ringrazio per le molteplici risposte ricevute...scusate se rispondo solo ora ma nn son potuto accedere al pc per un po..

Avete parlato di due file: io.dll e giveio.sys.
Come funzionano?
La cosa ideale che sospetto non troverò mai sarebbe una funzione che permette di settare e ricevere il bit del pin del bit voluto.
Trovai una funzione in c tempo fa, ma purtroppo era per linux e io ho la necessità di sviluppare il prog con il builder c++.
Mi fareste un grande favore se mi potreste dire dove trovare il file io.dll e giveio.sys
idt_winchip è offline   Rispondi citando il messaggio o parte di esso
Old 14-04-2005, 15:38   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Qui ci sono i link per il download...e nel file di test in C puoi vedere come usarlo...
http://www.physik.rwth-aachen.de/gro...n/arcs_nt.html
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
22 offerte Amazon da non perdere, dalla ...
Bose QuietComfort Earbuds a 129,95€: ANC...
L'unico con tante scorte, non fatevi sca...
Torna il super doppio sconto sulle e-bik...
Offerte Amazon componenti PC: RTX 5060 T...
Crucial Pro DDR5 da 32GB a 389,99€: perc...
Fable 5, il modello più potente d...
PC all-in-one Lenovo super elegante, per...
Lo Smart TV più venduto su Amazon...
Periferiche gaming in offerta su Amazon:...
L'IA non è una bolla, ma pu&ograv...
Il cinema in salotto: oggi TV Xiaomi QLE...
Passa a ho. Mobile, fino a fine agosto c...
Ai Giochi di Pechino i robot prendono fu...
Arianespace Ariane 6: lanciato il satell...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:04.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v