ECRITURE SUR PORT PARALLÈLE SOUS WINXP

Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 - 26 août 2003 à 09:49
Adn56 Messages postés 1172 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 28 septembre 2013 - 9 juin 2007 à 12:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/8343-ecriture-sur-port-parallele-sous-winxp

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.
bennybenben Messages postés 7 Date d'inscription lundi 18 août 2003 Statut Membre Dernière intervention 3 juillet 2006
26 août 2003 à 15:19
Je suis parti de l'exemple fourni dans http://www.driverlinx.com/ftp/unsupported/port95nt.exe, puis j'ai exporté mon projet dans un répertoire différent... Je suppose que ce fameux fichier BAS est donc dans le répertoire de l'install, et c'est pour cette raison que je ne l'ai pas mis...
Qu'entends-tu par "index" ? C'est du langage de programeur, ça ?! Tu veux que je te parles en langage d'électronicien, moi ?... ;-p Explique-moi vite-fait en quoi ça consiste et comment ça marche, stp... Je ne suis pas contre optimiser un p'tit peu mon bordel... merci.
Je suis convaincu qu'il me faudra encore faire quelques efforts pour optimiser mon travail en matière de progra... Mais il faut bien prendre du recul de temps en temps, et il y a tant à faire d'autre en ce monde ! (Tiens, faudrais p'tèt' que je m'trouve une p'tite copine, moi...)
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
26 août 2003 à 14:57
tu aurais du mettre tou tes boutons et autres controles répétés avec des index comme ca tu aurais pu diminué le code d'environ les 2/3.
De plus dans ton zip il manque un fichier BAS de déclarations de la DLL, tu aurais pu le mettre. Je ne prétend pas etre un crack de la programmation, mais mettre 20 fois le meme code (non c'est vrai jexagère) ca sert pas a gd chose (oui il me semble que j'ai vu un code qui y ressemblait bcp sur le site) Sinon, je tiens a précisé que je n'ait absolument rien contre toi ;-)
bennybenben Messages postés 7 Date d'inscription lundi 18 août 2003 Statut Membre Dernière intervention 3 juillet 2006
26 août 2003 à 10:05
Dans ce cas, toute petite précision : je ne prétend en rien révolutionner le monde de l'informatique, et surtout pas en matière de programmation... Et c'est certainement parce qu'il n'y a rien d'extraordinaire dans ce p'tit bout d'rien, que d'autres amateurs pourront, à mon avis, en extraire ce que bon leur semble... J'aurais peut-être dû préciser "Interdit aux cracs de la prog", finalement... ;-)
Tilois Messages postés 721 Date d'inscription dimanche 10 juin 2001 Statut Membre Dernière intervention 27 mars 2011 7
26 août 2003 à 09:49
pour ce qui est d'un LPT différent suffit de changer l'adresse :-). Sinon, ton prog n'apprend rien d'extraordinaire :-( Mais bon comme c'est ton premier programme, je vais etre indulgent ;-)
Rejoignez-nous