PDA

View Full Version : gestione parallela


bellkombà
13-08-2004, 22:04
buonasera a tutti,
dovrei gestire la porta parallela per spegnere dei led secondo una sequenza specifica.....ho provato usando sia l'assembler puro che codice assembly inline in un programma scritto in c++ (come compilatore uso il dev c++)..ma con scarsi risultati.ho sontito dire che per usare la porta parallela bisogna essere in kernel mode....è vero???
qualcuno sa come fare questo prog....o sa indicarmi qualche sito su cui prendere del materiale utile (esempi, manuali)
grazie a tutti.....:muro: :muro:

cionci
14-08-2004, 17:43
Vero... Devi usare CreateFile ed aprire la porta con quello... Devi fare tutto con le API...

Altrimenti puoi usare giveio che ti permette di usare direttamente l'assembly...
http://forum.hwupgrade.it/showthread.php?s=&threadid=727105&highlight=giveio

a2000.1
14-08-2004, 18:16
ho fatto così:


Public Declare Function Inp Lib "d:\temp\DllPort.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "d:\temp\DllPort.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)




Sub LedClic(k)

Call Out(888, 2 ^ (k - 1))


End Sub


Sub ppp()
Const s As Double = 1# / 24# / 3600#

Call Sleep(1)
t0 = Timer
Call Sleep(0.3)
t = Timer
'Stop


Do
For i = 1 To 10000
Call Out(632, 1) ' + 2 ^ (k + 2))
Sleep 0.001
Call Out(632, 0) ' + 2 ^ (k + 2))
Sleep 0.001
Next i
Loop
Exit Sub

Do
For i = 1 To 100

Call Out(632, 255)
Sleep 0.0001 * i
Call Out(632, 0)
Sleep 0.001 - 0.0001 * i
Next i
Loop

End Sub

a2000.1
14-08-2004, 18:18
cionci ma una buona parola l'hai messa ? :confused:

a2000.1
14-08-2004, 18:19
un bel sito di riferimento è:

http://www.vincenzov.net/tutorial/index.htm

cionci
14-08-2004, 18:33
Inp32 e Out32 (non sono componenti standard) non funzionano anche con Windows2000...così come la inport e outport nel tutorial che hai linkato...

a2000.1
14-08-2004, 19:05
ci saranno gli equivalenti.
le porte sono porte altrimenti si chiamerebbero muri :rotfl:

senti bello, ma una buona parola l'hai messa ?????????????? :)

cionci
14-08-2004, 19:13
a2000: che ti posso dire... Io i consigli te li avevo dati a tempo debito... Purtroppo non tutti sanno riconoscere la tua simpatia :D

Riguardo alle porte...tutti i SO basati su NT non permetto l'accesso diretto alle porte con le istruzioni in assembler IN e OUT...

a2000.1
14-08-2004, 19:16
"non tutti" .... quanti ? :D

sapevo delle cinture di castità post98 .... ma non si sforano col QB45 eseguito in emulazione DOS ?

cionci
14-08-2004, 19:25
Certo...con l'emulazione DOS si sforano...ma evidentemente non tutti si possono permettere di programmare per DOS ;)

a2000.1
14-08-2004, 19:30
carina questa ! :D

a2000.1
14-08-2004, 19:31
ma sto' veramente così sul ca... ehm sullo staff ???? :confused: :D

cionci
14-08-2004, 19:34
Non a tutti...però ti ci impegni ;)

a2000.1
14-08-2004, 19:43
mi sa che smetterò ... :(

... per un po'. :)

bellkombà
15-08-2004, 19:21
grazie cionci per i consigli....riprovo (visto che è già la seconda volta che mi illumini la strada) e ti faccio sapere...
ciao

a2000.1
16-08-2004, 08:51
prego. :)