IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Port parallele en C


Sujet :

C

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut Port parallele en C
    Bonjour. J'ai pas mal cherché sur le net mais je n'ai pas trouvé de methode interressante pour controller un port parrallele en C ou C++

    Voila je pensais a l'origine que putc() permetrai de le faire en mettant l'adresse du port en ce qui conserne le flux... C'est pas bon.

    Ensuite j'ai lu des explications pour l'ensemble de fonctions fournies avec conio.h. Malheureusement ce fut en vain. Car d'origine cette ensemble de fonction sert a controller la consolle et donc ne comporte pas les fonctions _pout() etc etc... (celui fourni avec les includes de mingw)

    Borland apparement a developpé des choses interressantes a cet effet, mais il me semble que cela ne marche que avec C Builder. Enfin bon toujours pas d'exemple sous Code::Blocks...

    Ensuite j'ai lu aussi des choses qui disaient que sous XP ca ne se passait plus pareil que sous la serie de 98 ME etc etc. Donc je suis un peu perdu alors je vous pose la question suivante:

    1. Comment faire marcher proprement le port parrallele avec CODE::BLOCKS et donc MINGW sous windows?
    1.1 S'il y a des librairies a utiliser lesquelles me recommanderiez vous? en sachant que je cherche des choses gratuites et surtout redistribuables gratuitement.

    2. En ce qui conserne les adaptateurs USB=>Parallele, windows xp attache un port parallele virtuel, avec une adresse. Peut on controler ce port a travers cette adresse virtuelle sans passer par des librairies de controles de l'USB.

    Voila, il est vrai que le conio.h de VC Express 2005 a l'air d'etre plus complet, cependant la je voudrais reussir a faire marcher tout ca sous mingw et donc le compilateur gcc.

    Je tiens a m'excuser d'avance si cette question a deja été evoqué sur ce forum. C'est d'ailleur fort probable car j'ai lu sur ce forum des infos que j'ai cité precedement. Cependant dans le cadre exact de ma configuration je n'ai rien trouvé de concluant. Merci

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par artiom
    Bonjour. J'ai pas mal cherché sur le net mais je n'ai pas trouvé de methode interressante pour controller un port parrallele en C ou C++
    C'est normal, car la question n'a aucun sens. En effet, vu du C, le matériel est une abstraction représentée par les flux I/O. Un 'port //' est loin de cette abstraction. Ce qui peut se rapprocher, éventuellement, c'est un périphérique de type imprimante. Par exemple, sous DOS/Windows, "prn", "lpt1" etc.

    Mais si il s'agit de contrôler directement le matériel, il faut utiliser des extensions du langage (accès direct aux ports I/O) ou, si le système ne permet pas l'accès direct (Windows XP, par exemple), des bibliothèques tierces comme inpout32.dll.

    http://www.logix4u.net/inpout32.htm

    Exemple de sur-couche facilitant l'usage de inpout32.dll (usage libre)

    http://delahaye.emmanuel.free.fr/clib/pio/

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut Hmmmm.... D'accord
    Merci pour ta reponse rapide. Et la couche pour utiliser la dll que tu ma recommandé est exactement ce que je recherchais. Generalement c'est les trucs les plus galeres a trouver, les .h etc etc

    Sinon en ce qui conserne ma question sur les adaptateurs USB=>Parralleles qui creent un port virtuel sur la machine... Qu'en penses tu? crois tu que je vais pouvoir utiliser ca avec la dll que tu ma recommandé?

    Sinon derniere petite question.
    controller les ports directement en asm es ce que ca peut etre une bonne solution?

    Es ce que tu pourrais m'indiquer s'il te plait comment on integre de l'asm avec L'IDE CodeBlocks et compilateur MingW?

    Merci

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par artiom
    Sinon en ce qui conserne ma question sur les adaptateurs USB=>Parralleles qui creent un port virtuel sur la machine... Qu'en penses tu? crois tu que je vais pouvoir utiliser ca avec la dll que tu ma recommandé?
    Non. Il faut utiliser les fonctions standards (fopen() etc.) ou systèmes ([Windows] FileOpen() etc.) avec le périphérique qui va bien, mais tu n'auras pas un contrôle complet. Pour ça, il faudrait les fonctions du driver livré avec l'adaptateur USB/parallèle.
    Sinon derniere petite question.
    controller les ports directement en asm es ce que ca peut etre une bonne solution?
    Non.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    86
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 86
    Par défaut
    Es ce que tu pourrais m'indiquer s'il te plait comment on integre de l'asm avec L'IDE CodeBlocks et compilateur MingW?

    Il faut regarder des articles sur l'asm inline avec gcc (le compilateur de mingw) , un article : ici

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 134
    Par défaut Hmmm
    Ok merci beaucoup pour toutes ces infos.

    Juste a titre informatif j'ai cherché des choses sur les adaptateurs USB=> Parallele / Serie.

    un type de puces est preponderant sur le marche a savoir FTDI

    Donc generalement deux types de drivers sont disponibles pour ce genre de choses.

    D2XX et VCP

    En VCP on fonctionne en port virtuel et la ca marche correctement en adressant directement l'adresse LPT ou COM du port virtuel. Ce port virtuel est totalement transparent aux usages. Cela fonctionne sous XP et XP64. Vitesse maxi 300Ko/S


    En D2XX cela conserne l'adressage direct de la puce FTDI. la dans ce cas on atteint des vitesses bien supperieures et dans ce cas pas de port virtuel crée sur la machine. vitesse maxi 1Mo/s

    Voila pour plus d'information sur ca allez directement sur le site:
    http://www.ftdichip.com
    Exemples de codes, dll, produits disponibles

    A tres bientot, et corrigez moi si j'ai dis des betises.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. fonction "inb" sous linux; port parallele
    Par be_net dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 09/06/2004, 11h39
  2. [VB6]Commander plusieurs ports parallèle
    Par fab+ dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 24/03/2004, 14h56
  3. precision sur le pilotage du port parallele
    Par fransouik dans le forum C++Builder
    Réponses: 18
    Dernier message: 26/02/2004, 13h28
  4. Utiliser le port parallele pour simuler un digicode
    Par nonoRedDevils dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/12/2003, 13h23
  5. Port parallele
    Par Phoneus dans le forum C
    Réponses: 2
    Dernier message: 05/05/2002, 23h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo