Problème pour aquérir une impulsion sur un port parallèle
cs_Loic34000
Messages postés27Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention 6 juin 2008
-
17 avril 2008 à 18:12
chadii -
20 févr. 2013 à 13:40
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
42wawa42
Messages postés143Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention 6 septembre 2011 17 avril 2008 à 18:53
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 ?
cs_Loic34000
Messages postés27Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention 6 juin 2008 17 avril 2008 à 19:21
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...
radcur
Messages postés282Date d'inscriptionlundi 29 septembre 2003StatutMembreDernière intervention15 août 20122 18 avril 2008 à 02:34
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)
cs_Loic34000
Messages postés27Date d'inscriptionmardi 11 mars 2008StatutMembreDernière intervention 6 juin 2008 18 avril 2008 à 11:31
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
42wawa42
Messages postés143Date d'inscriptiondimanche 28 septembre 2003StatutMembreDernière intervention 6 septembre 2011 18 avril 2008 à 16:40
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.