Ecriture sur port parallèle sous winxp

Soyez le premier à donner votre avis sur cette source.

Vue 20 384 fois - Téléchargée 3 784 fois

Description

Un prog de plus pour commander une carte électronique avec des relais !

Celui-ci, tout comme son homologue "LECTURE/ECRITURE VERS PORTSPC SOUS XP" de vbsirob, utilise l'install http://www.driverlinx.com/ftp/unsupported/port95nt.exe

Je pense avoir allègrement commenté mon code (une fois pour chaque fonction similaire, faut pas charier non plus !... ;) ... Ceux qui s'y tenteront verront que l'interface est relativement simple et épurée ; du fait que je dédie cette appliquette à la commande de 8 relais pour allumer et éteindre mes jeux de lumières...

La progra c'est pas trop mon domaine à la base, et ce jouet est mon premier ; alors soyez indulgent avec moi et mettez-y la forme pour les critiques... Au-delà de ça, tout conseil pour optimiser mon code ou pour embellir l'interface est le bienvenu.

Conclusion :


Mettre à 1 ou à 0 chacun des bits du port // séparément est la principale fonction...

Possibilité de cadencer le changement d'état des bits de 1 à 30 secondes.

Possibilité d'écrire du texte en face de chaque commande (ça peut être pratique pour savoir lequel commande quoi...).

Possibilité de modifier l'adresse du port (par défaut c'est 0378, il suffit de taper la nouvelle adresse à la place puis de cliquer sur RAZ), mais je n'ai pas pu vérifier cela... Je ne sais pas non plus ce que va donner l'initialisation du prog sur un PC avec un LPT différent...

Le lave-vaisselle est en option...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Adn56
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1 -
j'y ai bien pensé ^^ style une tempo NE555 ou une validation via des portes ET TTl
Mais je reste dubitatif ! imagine que le winbouze reboot ? et hop je casse tout ! En plus de temps en temps toutes les sorties D0/D7 sont à zéro apres le boot d'XP puis d'autre à 1 O_o

ca me saoule grave d'avoir "perdu" 1 moi de DEV pour rien ><

merci pour tes conseils ^^
bennybenben
Messages postés
7
Date d'inscription
lundi 18 août 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
Salut Adn56,

Je crois bien qu'il n'y a aucune solution pour résoudre ton problème : Windows joue fatalement avec le port parallèle au démarrage, et la seule solution que j'aurais à te proposer, ce serait d'essayer sous Linux (où là, tout est réellement paramétrable !)... Mais ma source VB6 sera alors inutilisable, et il faudra te tourner vers le C ou le C++, compilable en environnement Unix qui plus est...

Si tu es trop attaché à Windows XP (ça peut se comprendre), et si ton principal souci est de ne pas laisser s'actionner quelque système industriel sur le port parallèle, il me semble que le mieux serait d'avoir un étage intermédiaire permettant la déconnexion physique (ou logique) du bus de données, par exemple par le biais d'optocoupleurs (attaqués par chaque ligne du bus), et d'amplis opérationnels (montés en comparateurs) ou des transistors (en bloqué-staturé et en connectant-déconnectant l'émetteur) qui pourraient être "commandés" par un simple interrupteur... Bref, électroniquement les solutions ne manquent pas et on peut s'en tirer pour pas trop cher...

Cordialement,
ben.
Adn56
Messages postés
1172
Date d'inscription
jeudi 24 mai 2007
Statut
Membre
Dernière intervention
28 septembre 2013
1 -
Salut tous, juste une question vite fait en passant, c'est bien beau de faire des interfaces sur le //, mais comment faire pour etre sur que les bits D0 à D7 reste à zéro lors du boot du pc (bios puis XP) ??? car chez moi je suis obligé d'abandonner mon travail sur le port // car ces bits s'activent tous à un apres le boot d'xp ! je vous laisse imaginer ce que cela peux donner dans la réalité avec des actionneurs de puissance (moteur vérin et autre ^^) j'ai tout essayé, bios->port en standard pour éviter le plug²play et les DMA. si je le désactive, je n'y est plus accés donc pas la soluce n'ont plus =( il me mfaudrait une ligne de code dans les win.ini ou autre pour forcer la valeur des sorties à 0 !
@ vous lire , @dn
djtrefle
Messages postés
36
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
28 juin 2008
-
Slt, en faite je suis en train de faire un TPE au lycée et mon sujet est exactement ton projet. Alors je voudrais savouir il etais possible que tu me fasse passer la totalité de ta programmation (ici il manque le .bas) et ce qui serait pas mal serai le schéma de ton circuit !
Je te remercie d'avance
cs_tuner
Messages postés
2
Date d'inscription
lundi 23 juin 2003
Statut
Membre
Dernière intervention
14 octobre 2003
-
Je n'ai pas vu ta source mais je peut te répondre en ce qui concerne les index.
Lorsque tu crée sur un formulaire plusieurs contrôles (par exemple des boutons) qui ont tous une fonction similaire (par exemple si tu crée dix boutons pour faire un clavier), dans ce cas tu peux créer un "groupe de contrôle". Ainsi, tous les contrôles de ce groupes auront le même nom mais différeront par un index.
Ainsi, lorsque tu les appeles tu dois mensionner le nom et l'index ( ex: button(1).Text te renvoie le texte écris sur le bouton indéxé 1 dans le groupe de contrôle appelé button).

Ainsi, lorsque tu dois programmé l'action qui dois se dérouler lors d'un clic sur un de ces contrôle par exemple,le code en est d'autant diminué.

Par exemple si je veux afficher sur un textbox le numéro du bouton de mon clavier sur lequel j'ai appuyer, je peux soit créer 10 boutons différents avec 10 procédures ou 1 groupe de contrôle avec une procédure commune qui utiliserais cet index. Par exemple si le bouton 1 a pour index 1, etc... Tu peux te contenter d'afficher l'index dans ton textbox plutôt que de faire moultes procédures...

Le résultat est le même mais avec un nombre considérable de lignes de code en moins.

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.