Lire/ecrire sur le port parallele

Soyez le premier à donner votre avis sur cette source.

Snippet vu 47 441 fois - Téléchargée 40 fois

Contenu du snippet


Source / Exemple :


#include <iostream.h>

char lire(unsigned short adr);
void ecrire(unsigned short adr,char out_char);

char lire(unsigned short adr)
{
        #pragma inline
        unsigned char ret_char;
        asm
        {
                mov dx,adr
                in   al,dx
                mov ret_char,al
        }
        return(ret_char);
 }

void ecrire(unsigned short adr,char out_char)
{
        asm
        {
                mov al,out_char
                mov dx,adr
                out dx,al
        }
}

int main()
{
//ecrit sur le port parallele la valeur 10
ecrire(0X0378,10);

//lit le port parallele
cout<<lire(0X0378);

        return 0;
}

A voir également

Ajouter un commentaire Commentaires
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

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.