LIRE/ECRIRE SUR LE PORT PARALLELE

cs_hamdan Messages postés 7 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 7 novembre 2005 - 23 mars 2002 à 00:10
gaillus Messages postés 14 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 22 octobre 2013 - 19 avril 2005 à 12:50
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/9570-lire-ecrire-sur-le-port-parallele

gaillus Messages postés 14 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 22 octobre 2013
19 avril 2005 à 12:50
J'ai retrouvé le prog permetant d'ecrire et de lire sur le port //. Elle n'etait pas sur le site (désolé si vous avez chercher en vain) mais je viens de la mettre : http://www.cppfrance.com/code.aspx?ID=30849.

Sinon vous allez direct sur le site : http://www.internals.com c'est la que je l'ai trouvé.

Bonne prog à tous.
gaillus Messages postés 14 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 22 octobre 2013
17 avril 2005 à 17:19
Salut a tous,
a force de chercher j'ai finalement trouvé un prog qui permet de lire et d'ecrire sur le port parallèle ; il fonctionne à partir de 'winio.dll'. il y a au moins une source sur le site mé je ne me souvient pas laquelle.
le prog fonctionne trés bien avec VC++ sous XP (sans MFC pour mon cas), il y également une fichier d'aide qui explique comment l'utilisé avec d'autre compilateur.

Je vé fouiller dans mes fichier et essayer de retrouver la source.

De souvenir je me souvient que je l'avais trouvé en faisant une recherche sur le site avec "ecrire sur le port parallèle".

Sinon 'useport' marche bien aussi. il donné l'acces au port que l'on veut, il suffit de choisir les adresses qu'on veut utiliser.

Bonne prog a tous.
cs_habibdu70 Messages postés 25 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 26 novembre 2008
12 avril 2005 à 14:38
On peut utiliser ton code sous XP en utilisant les MFC, en essayant, le compilateur VC++ ne comprend pas le code assembleur.
Quelqu'un a une solution ?
fabricolo Messages postés 1 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 12 avril 2005
12 avril 2005 à 13:34
Apres avoir essayé pas mal de choses, pour moi le mieux pour piloter le port parallèle en C++ Builder 6.0 sous XP, c'est d'utiliser l'assembleur comme dans le code de Nic.C en ayant au préalable autorisé l'accès au port LPT1 grâce à l'itilitaire USERPORT.EXE disponible à l'adresse http://www.embeddedtronics/design&ideas.html

Bon courage à tous
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
8 févr. 2005 à 19:07
Attention : giveio c'est pas vraiment un soft : ça autorise un programme à utiliser les ports com et //.
Quand vous exécutez un programme sous xp et qu'il essait d'accéder aux ports le systeme d'exploitation bloque ça !!!!
En fait giveio va intercepter l'accès aux ports demandés par le programme et va s'en occuper : comme il a le droit d'y accéder (il fonction en mode système , enfin un truc comme ça, je sais plus trop bien) et bien ça marche.
bref c super :-)
par contre je ne l'ai jamais trouvé sur le net, on me l'a passé. Pour ceux qui sont intéressés (gaillus !!) contactez moi par mail : jbbeauf@hotmail.com
JE NE SUIS PAS UN SPECIALISTE DE GIVEIO : LES INFOS DONNEES NE SONT PAS GARANTIES (je reste prudent)

JB
gaillus Messages postés 14 Date d'inscription mardi 19 avril 2005 Statut Membre Dernière intervention 22 octobre 2013
8 févr. 2005 à 11:42
Bonjour,
moi aussi je cherche un moyen pour ecrire sur le port parallele avec win XP.
J'ai trouvé pas mal de source qui permette de contouner le bloquage de fait windows XP a ce niveau : un tutorial avec WINIO.DLL, un autre avec INPOUT32.DLL les prog compile correctement mé les valeurs ecrite ou lu ne sont pas les bonnes. Je pense que c peut etre moi qui lés utilise mal mé je garde les source telle quelle sont é malgré ca ca ne mache pas correctement.

JBBEAUF tu a réussi en utilisant "giveio" peut tu me dire ou a tu trouvé ce logiciel?

Sinon ASMLOOPING tu utilise "useport" pourrait-tu expliquer comment ca marche? et ou le trouver?

Merci d'avance a tous ceux qui pourront m'aider.
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
28 juil. 2004 à 18:54
DevOnOff : il y a pas de problème pou ne controler que certaines broches, fais juste gaffe aux conventions (lecture seul, écriture seules etc... toutes sont pas accèssibles). je l'ai déjà utilisé avec un registre à décalage !!! (si un jour tu me lis Ju ou Clem et bien tu te reconnaitras là :-D ça a tout déchiré !!!!!) bref ça marche, pour controler une broche qui correspond à un bit dans un octet utlise des masques ~ ou autre chose
JB
DevOnOff Messages postés 1 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 28 juillet 2004
28 juil. 2004 à 16:03
j ai envie de savoir si on peut controller uniquement 2 ou 3 pins du port parallèle, j en a besoin pour alimenter un registre a décalage , j ai donc besoin d un pin pour les data, un pin d horloge et un autre de validation

c est a dir que je vais sérialiser des paquets a travers le pin data
loquior Messages postés 1 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 7 avril 2004
7 avril 2004 à 09:33
Salut tout le monde,
Moi aussi j'ai rencontré l'erreur Unhandled exception in X.exe: 0xC0000096: Privileged Instruction sous Win Xp ou NT, donc pour resoudre ce probleme il faut utiliser la dll inpout32.dll, et ainsi modifier votre projet en fonction des prototypes associés (style les _outp par out32...) et biensur rajouter les lib necessaires.
Voilou bonne programmation

PS:lien-->http://visual.basic.free.fr/visual/Teleocx.php3
telechargement direct -->http://visual.basic.free.fr/visual/Zip/Ocx_dll/Inpout32.zip

Bonne chance ^^
cs_pedrem Messages postés 1 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 24 mars 2004
24 mars 2004 à 11:57
ce code passe chez moi (xp) apres ouverture des ports
j'arrive à écrire à l'adresse 0x378 donc sur le registre d0-d7 (vérifié au voltmetre) mais dès que je veux écrire sur les registre d'état ou de controle du port (0x379, 0x37A) l'erreur suivante apparait
privileged instrruction at 0x401117 !!
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
23 mars 2004 à 20:24
Ce code passe sans problème sous xp chez moi.
Il existe aussi des fonctions prédéfinies inp et outp en C. Quand on les désassemble ça donne ce code avec en plus des lignes de nop... C'est un copain qui m'a montré ça.
Après il faut bien se brancher sur le port parallèle, avec les docs qu'on peut trouver sur le net dessus c'est assez accessible.
JB
lpikachu58 Messages postés 351 Date d'inscription samedi 2 février 2002 Statut Membre Dernière intervention 6 mai 2004 2
23 mars 2004 à 16:28
l'asm c'est pas ce qu'il y a de plus portable mais je me demande si ça passe réellement sous XP
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
13 mars 2004 à 19:40
donc le programme marche PARFAITEMENT sous XP !!!!

(c t pas vraiment précisé dans mon dernier message !)
JB
jbbeauf Messages postés 13 Date d'inscription vendredi 28 décembre 2001 Statut Membre Dernière intervention 18 octobre 2004
13 mars 2004 à 19:38
Bonsoir à tous !!

Pour ceux qui veulent utiliser ce code en assembleur sous XP :
La technologie NT (donc XP) bloque totalement l'accès aux registres des ports de communication comme ça. il faut donc faire sauter les protections : pour ça utliser un "logiciel" giveio. Cherchez sur le net et téléchargez le : c'est un pilote et boum, ça marche :-)

JB
exterminabur Messages postés 33 Date d'inscription lundi 2 février 2004 Statut Membre Dernière intervention 17 mars 2004
9 mars 2004 à 17:28
salut nic.C
pas mal ton prog mais marche pas sous xp
normal
sinon moi j'ai un source qui fait marcher des fonctions ne marchant pas sous xp avec VB 6 C++ (donc un .cpp)
avec l'aide du lib
sinon asmlooping apparemment toi aussi tu as réussi d'écrire et de lire sur le port parallele chapeau
a l'occasion si tu pouvais me donner ton source
ou le lien
le mien est à l'adresse:
http://www.cppfrance.com/code.aspx?ID=21060
@+
bonne continuation
asmLooping Messages postés 9 Date d'inscription lundi 12 mai 2003 Statut Membre Dernière intervention 11 août 2006 2
29 janv. 2004 à 15:27
SCHLAGVUK
je suis etudiant et ja developpe un systeme qui doit lire et/ou écrire sur le port parrallèle; je trouve ce source interessant, pour le faire passer sous XP il va faloir liberer les port... avec USEPORT je rentre l'adresse des port a liberer, et c'est fais...
a+
Alambics Messages postés 3 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 21 février 2003
21 févr. 2003 à 08:56
J'ai une solution partielle pour tout ceux qui utilisent unsysteme Nt( Nt4.0 2000 ou XP) le code assembleur ne passe pas. Les primitives pour les lire les valeurs des registres ou pour ecrire dedans ne sont pas autorisés !!!!
Pour pouvoir lire dans un registre ou sur port sur un systeme NT il faudra vous procurer les drivers Peek Poke de chez Hp qui permettent de contourner le probleme !!!
En esperant que cela vous aidera , a+
Alambics Messages postés 3 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 21 février 2003
21 févr. 2003 à 08:56
J'ai une solution partielle pour tout ceux qui utilisent unsysteme Nt( Nt4.0 2000 ou XP) le code assembleur ne passe pas. Les primitives pour les lire les valeurs des registres ou pour ecrire dedans ne sont pas autorisés !!!!
Pour pouvoir lire dans un registre ou sur port sur un systeme NT il faudra vous procurer les drivers Peek Poke de chez Hp qui permettent de contourner le probleme !!!
En esperant que cela vous aidera , a+
Alambics Messages postés 3 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 21 février 2003
20 févr. 2003 à 14:36
J'ai le meme probleme ce serait cool que quelqu'un pensait a trouver la solution j'ai bo consulté la msdn et mes vagues connaissances z
en assembleur je trouve pas d'ou viens le probleme !
kheon Messages postés 1 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 19 février 2003
19 févr. 2003 à 12:22
J'ai aussi le meme probleme. Ca plante a "out dx, al".
Quelqu'un aurai t il une solution pour programmer le port parallele sous windows 2000 ????
jll123 Messages postés 1 Date d'inscription lundi 13 janvier 2003 Statut Membre Dernière intervention 13 janvier 2003
13 janv. 2003 à 11:07
j'ai le meme probleme que Clem mais quand j'essai d'écrire sur le port serie: => Unhandled exception in io.exe: 0xC0000096: Privileged Instruction."
j'ai ce probleme sur XP et NT
cs_Clem Messages postés 282 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 12 février 2007
16 oct. 2002 à 21:02
Ca marche pas chez moi : je met le code, je compile, ca me fait juste un warning ( unrecognized pragma, ligne 8 ), j'ouvre le exe, et la erreur du programme, qui plante.
D'après le déboggeur de VC++, ca se passe au niveau du "out dx,al", et l'erreur est "Unhandled exception in io.exe: 0xC0000096: Privileged Instruction."

Quelqu'un peut me dire pourquoi ca fait ca, et surtout comment régler le problème ?
Merci d'avance.
Ps: J'ai WinXP.
Tesla93 Messages postés 11 Date d'inscription lundi 22 juillet 2002 Statut Membre Dernière intervention 14 mai 2003
26 sept. 2002 à 23:55
uen question
//ecrit sur le port parallele la valeur 10
ecrire(0X0378,10);

ok mais sa ecrit la valeur 10 sur quel broche du port parallele sachant que ya 25 broche
et est il possible de mettre une broche du port parrallele sur ecoute genre mettre en variable se que le port parrallele recoit ?
cs_nikko Messages postés 62 Date d'inscription jeudi 18 avril 2002 Statut Membre Dernière intervention 29 septembre 2004
19 juin 2002 à 15:32
C'est un peu bourin tout ça...!
Profitez-en car c'est foutu pour utiliser ça sous XP...
cs_hamdan Messages postés 7 Date d'inscription mercredi 6 février 2002 Statut Membre Dernière intervention 7 novembre 2005
23 mars 2002 à 00:10
Mais t'a etuliser L'assembleur ;)
la primitive Outport est utils aussi ;)
Rejoignez-nous