Problème pour aquérir une impulsion sur un port parallèle

Signaler
Messages postés
27
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
6 juin 2008
-
 chadii -
Bonjour à tous,

J'ai un problème pour acquérir un signal venant d'une alimentation continu.
Je m'explique je voudrais detecter une impulsion de tension sur un pin du port parallèle à partir d'un signal 0-5V, pour cela j'ai connecté un bouton poussoir sur une alim 5V et sur un pin de mon port parallèle lorsque j'appuie sur mon BP je met normalement l'entrée a 1 logique (5V) sur le pin mais lorsque je ferme mon bouton poussoir rien ne se passe.

Voila le morceau de mon programme :

Private Sub Timer3_Timer()


Dim ValeurPort2 As Variant   'Declaration de la ValeurPort2
ValeurPort2 = Inp(&H379)    'La valeur du port est égal à la valeur en binaire des entées
If ValeurPort2 = 136 Then      'Si la valeur du port 2 = 136 car (128+8 où se trouve le Bouton) alors
Text5 = "Impulsion reçue"       'Affiche le texte que l'impulsion a été recue

Si quelqu'un aurait une idée pour me débloquer
Merci

6 réponses

Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Hello Loic34000
La fonction "Inp" n'existe pas enVB6 seulement.
Avec un DLL pour LTP il y a une chance de récupère la valeur du Port 2
Il me semble que le petit programme n'est pas du VB6 ?

A plus sur VBFrance.com
42wawa42
Messages postés
27
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
6 juin 2008

Salut 42wawa42,

Le petit morceau de programme est bien du VB6, en ajoutant la dll inpout dans systeme 32 on peut communiquer avec le port parallèle du pc sans problème.


En utilisant un bit de sortie (pin 2) que l'on re-injecte sur un bit d'entrée (pin 15) au moyen d'un interr, j'arrive a prendre l'impulsion mais pas avec un signal exterieur c'est la que j'ai un problème...
Messages postés
282
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
15 août 2012
2
salut

Dim ValeurPort2 As Variant   'Declaration de la ValeurPort2
ValeurPort2 = Inp(&H379)    'La valeur du port est égal à la valeur en binaire des entées
If ValeurPort2 = 136 Then      'Si la valeur du port 2 = 136 car (128+8 où se trouve le Bouton) alors
Text5 = "Impulsion reçue"       'Affiche le texte que l'impulsion a été recue

et si Valeur2 n'égalait pas 136 ?

si tu essaies ceci, ça te retourne quoi comme valeur  ???

Dim ValeurPort2 As Variant   'Declaration de la ValeurPort2

ValeurPort2 = Inp(&H379)    'La valeur du port est égal à la valeur en binaire des entées
msgbox(ValeurPort2)
Messages postés
27
Date d'inscription
mardi 11 mars 2008
Statut
Membre
Dernière intervention
6 juin 2008

Salut radcur,

En essayant ta solution j'ai mon PC qui me retourne la valeur de 120 dans tous les cas (que j'appuie sur mon bouton ou non), je doit bien avoir un problème avec la ValeurPort2.
Comment cela se fait t-il que la ValeurPort2 ne change pas ?

Merci d'avance.

 
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Loic34000

Pour info:
Imprimentes Parallèle
L'imprimente 1 fonctionne avec les port 370H à 37FH, imprimente 2 fonctionnr de façon identique avec les ports 270H à 27FH.
Port 1 ou Port 2
378H       278H Port d'émission des données (8 bits)
379H       279H Lecture de l'etat.
                          B3 = erreur.
                          B4 = imprimante en ligne (On LINE).
                          B5 = plus de papier.
                          B6 = acquittement (ACKNOWLEDGE).
                          B7 = occupé (BUSY)
37AH    27AH  Controle du port d'émission
                          B0 = STROBE
                          B1 = AUTO FD XT
                          B2 = Initialisation
                          B3 = sélection.
                          B4 = autorisation d'interruption.
37BH    27BH   Non utilisé.

Les ports 27CH à 27FH et 37CH à 37FH répètent la configuration des ports 278H à 27BH et 378H a 37BH.

A plus sur VBFrance.com
42wawa42
                          B4 =