[Déplacé .Net --> VB6] utiliser le port LPT1 sous XP en VB et VBA/Excel en entr

Signaler
Messages postés
329
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
25 mars 2019
-
Messages postés
329
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
25 mars 2019
-
Bonjour,

Pour utiliser le port LPT1 sous XP en VB et VBA/Excel j'ai essayé inpout32.dll (de 2003)
Tout est OK à 90% mais impossible de lire le port Centronics.
Je lis bien le registre mais pas l'état électrique des bornes.
Y a-t'il une astuce ? Comment s'y prendre ?, Un exemple ?
Comment faire passer le port de données en réception ?
(port bidirectionnel : Bit 5 du port 379Ah à mettre à 1, mais comment ?)

Aide svp . Merci.

J'ai déjà posté ce message mais j'ai l'impression qu'il n'est pas parti.

4 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
En cherchant "inpout32" parmi les codes du site, on trouve des exemples.
Tu n'as pas été précis sur le langage : "sous XP en VB et VBA/Excel" : VBA, Ok, mais le premier VB, c'est du VB quoi ? 6 ou .Net ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
329
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
25 mars 2019

Bonjour Jack
Au début, j'utilisais VB5CCE (version gratuite)
maintenant pour faire des tests je préfère utiliser Excel VBA.
Les DLL sont utilisables dans les 2 cas.
VB6 trop lourd pour faire des tests (n'est pas installé)
VB.net ??? désolé
Rappel :
Je lis bien les 3 registres 378h, 379h et 37Ah, je peux écrire dans 2 registres 378h et 37Ah
je peux donc commander un relais ou tout autre dispositif.
Merci et A+ Je suis de près.
Messages postés
329
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
25 mars 2019

Bonjour Jack
Dans tous les exemples pratiques, je n'ai vu que l'écriture (excitation d'un relais)
Je n'ai jamais vu la lecture d'un contact de relais.
A mon avis la version de VB n'a aucune importance.
En clair :
As-tu déjà lu un port LPT ( ex. : borne 2, D0 d'un port Centronics/36) avec VB en utilisant
inpout32.dll Oui/Non.
Si Non : pourrais tu le faire ?
Si Oui : pourrais tu me montrer les 3 ou 4 lignes de programmes nécessaires ?
(il faut 1 ligne pour écrire ou lire un registre : OUT(adresse_port),valeur ) ou
valeur = INP(adresse_port)

Mon LPT est bien bidirectionnel d'après mon BIOS et marqué ECP
quitte à changer de dll ?
Merci et bon courage
Messages postés
329
Date d'inscription
dimanche 16 mai 2010
Statut
Membre
Dernière intervention
25 mars 2019

Bonjours à tous,
J'ai trouvé la solution !
En fait mon BIOS présentait les options suivantes :
Parallel Port Mode : SPP ou EPP ou ECP ou ECP + EPP
EPP Mode : EPP1.7 ou EPP1.9
ECP Mode Use DMA : 1 ou 3
-
J'étais persuadé que ECP + EPP signifiait bidirectionnel ! eh bien NON.
-
La seule configuration qui fonctionne est
Parallel Port Mode : EPP
EPP Mode : EPP1.9
ECP Mode Use DMA : non sélectionné.
-
Je pensais avoir fait tous le tests mais j'ai du me "planter". Désolé.
y compris sur un second ordinateur qui, lui, me disait en clair "bidirectionnel"
-
Maintenant je sais utiliser le port parallèle sous toutes ses coutures à l'aide de inpout32.dll en VB / VBA.
voir :
www.microfer.fr/geryko page "téléchargements" fichier "piloter_le_port_LPT_du_PC.zip".
-
Merci à tous.