Gestion port paralléle

Soyez le premier à donner votre avis sur cette source.

Snippet vu 6 511 fois - Téléchargée 36 fois

Contenu du snippet

Désolé je n'avais pas tout mis dans mon ZIP
Voici le code source complet....
Premiére partie dans une page module
Deuxiéme partie dans une page type Form

Source / Exemple :


Option Explicit

Public Declare Function Inp Lib "inpout32.dll" _
Alias "Inp32" (ByVal PortAddress As Integer) As Integer
Public Declare Sub Out Lib "inpout32.dll" _
Alias "Out32" (ByVal PortAddress As Integer, ByVal Value As Integer)

Option Explicit
Dim ADRESSE As Integer
Dim VALEUR As Integer
Dim nb As Integer

Private Sub Command1_Click()
ADRESSE = &H378
For nb = 1 To 2
        VALEUR = 1
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 2
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 4
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 8
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 16
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 32
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 64
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 128
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 64
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 32
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 16
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 8
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 4
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 2
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
        
        VALEUR = 1
        Out ADRESSE, VALEUR
        VALEUR = Inp(ADRESSE)
        Pause (0.1)
nb = nb - 1
Next
End Sub

'sous programme permettant de temporiser la boucle for'
Public Sub Pause(Secondes As String)
    Dim pausetime, Start
    pausetime = Secondes
    Start = Timer
    Do While Timer < Start + pausetime
        DoEvents
    Loop

End Sub

Conclusion :


Il y a en plus une fonction bien sympa pour temporiser sans bloquer le PC....

A voir également

Ajouter un commentaire

Commentaires

squalyl
Messages postés
26
Date d'inscription
lundi 4 février 2002
Statut
Membre
Dernière intervention
30 décembre 2003
-
Petit joueur, c pas toi qui a fait le boulot, c'est inpout32.dll!
Et en plus tu la files même pas avec!!!!!

Pour ta gouverne sache que:
- Public Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long
- Public Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwMilliseconds As Long)
existent déja.
Et que DlPortIO a encore plus de fonctionnalités.
A toi de la trouver.
pcman5
Messages postés
132
Date d'inscription
mercredi 12 juin 2002
Statut
Membre
Dernière intervention
26 janvier 2006
-
DlPortIO ??? c'est un API ca? Parce que j'ai rien trouver la dessus avec API-Guide.
pcman5
Messages postés
132
Date d'inscription
mercredi 12 juin 2002
Statut
Membre
Dernière intervention
26 janvier 2006
-
Ok Ok j'aurais du chercher avant de parler, je m'en escuse. Je l'ai trouver sur internet. Merci A+
cs_PapyJo
Messages postés
17
Date d'inscription
dimanche 26 janvier 2003
Statut
Membre
Dernière intervention
17 juillet 2006
-
Ou est la librairie input32.dll ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.