Ecriture sur port parallèle sous winxp

Soyez le premier à donner votre avis sur cette source.

Vue 20 852 fois - Téléchargée 3 837 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
9 juin 2007 à 12:33
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
9 juin 2007 à 11:22
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
8 juin 2007 à 15:43
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
25 janv. 2005 à 22:07
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
14 oct. 2003 à 12:28
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.
Afficher les 9 commentaires

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.