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

Visual C++ Discussion :

Gestion port paralèlle sous win xp


Sujet :

Visual C++

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 6
    Points
    6
    Par défaut Gestion port paralèlle sous win xp
    Bonjour,
    Je savais pas trop ou mettre ce topic car il englobais plusieurs sujets alors je l'ai mis ici dans le langage C++.

    Voici mon problème : (débutant en C++, llégères conaissances en C#)

    J'aimerais piloter mon port // de mon windows XP a travers du code c++,
    le probleme c'est que dans mes cours j'ai des exemples de code c# qui fonctionne que sous win 95 et 98.
    voici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    /*Programme qui permet d'ecrire des valeurs sur le port de données (lignes 2 à 9)*/
     
    #include <stdio.h>
    #include <dos.h>
    #include <conio.h>
    #define FALSE 0
    #define RTUE !FALSE
     
    int main(){
      int i,n,m;
      int portdata = 0x378;
      int portctrl = 0x37A;
      int DONE = FALSE;
     
      printf("\n"); 
      printf("Pour arreter, taper w \n");
     
      while(!DONE){
        m=0;
        outportb(portctrl,m);
        for(i=0;i<=255;i++){
          outportb(portdata,i);
          printf("Word written to port %d = %d\n",portdata,i);
          delay(100);
        } 
        if(kbhit())
          if(getch()=='x')DONE=TRUE;
      }
      return 0;
    }
    Voic donc le code.
    Naturellement cela ne fonctionne pas sous windows XP et j'aimerais utiliser du code C++ mais je ne sais pas du tout comment faire et quelles bibliotheques utiliser pour me lancer dans le developpement. Pourriez vous me mettre sur la voie svp, je suis censé réaliser une sonde thermique controlée par port // avec du C++ et une interface graphique en Java.
    Je bloque sur le code C++.
    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Points : 1 176
    Points
    1 176
    Par défaut
    Peut être dans le forum programmation windows? Sinon là tu fais du C, pas du C++.

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Le truc c'est que je sais pas le faire en C# (je pense pas) puisque c'est sous windows xp. donc j'aimerais utiliser C++, mais je n'ai pas de conaissances dans les librairies c++ pour gerer le port parallele.

  4. #4
    Membre actif Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Points : 257
    Points
    257
    Par défaut
    pour le pilotage du port parallèle, il faut oublier les outportb()...
    mais l'envoi de données se fait par FileOpen() ou un truc comme ca.
    regarde tout ce qui concerne la gestion du port série, il faudra faire de même...

    après, ça dépend de ce que tu veux faire, impression ou autre

  5. #5
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    En fait je dois monter une sonde thermique sur plaquette electronique et faire la communication vers le pc grace au port serie ou parallele, avec du c ou du c++ et une interface graphique en java. C'est un petit projet d'etudes et je me renseigne.

    mais la je bloque vraiment sur les librairies et les dll dans le c et le c++.
    J'ai trop l'habitude de faire du java.
    J'arrive pas a trouver les bonnes bibliotheques pour gerer le port serie ou //
    avec dev-cpp.

    On me propose inpout32.dll comme librairie a utiliser mais je comprends pas trop?

  6. #6
    Membre actif Avatar de Rupella
    Inscrit en
    Février 2005
    Messages
    286
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 286
    Points : 257
    Points
    257
    Par défaut
    sur ce que j'ai vu, c'est pas forcément gagné d'avance, il faut installer un device driver (car tu ne peux accéder aux adresses matérielles sous WinNT et suivants).

    en fait, il n'existe que deux fonctions pour lire et écrire les données sur le port //. il te faut regarder les tutoriaux pour l'utilisation des dll dans des programmes c/c++.

    normalement, à l'adresse suivante, tu dois pouvoir y arriver...

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

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    Il te faut un pilote, Windows XP ne permet pas l'acces direct au port parallèle. Perso j'ai deja fait ça avec le pilote "DLPortIO", il suffit d'installer le truc et après tu va voir dans "C:\Program Files\DLPortIO\API" tu doit trouver les fichiers "DLPORTIO.lib" et "Dlportio.h".
    Il faut linker "DLPORTIO.lib" et inclure "Dlportio.h" dans ton entête de programme :
    En espérant t'avoir aider.


  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 121
    Points
    121
    Par défaut
    J'ai oublié de préciser les fonctions pour lire et ecrire sur le port :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UCHAR DlPortReadPortUchar(ULONG Port);   //lecture sur le port
    /*********Exemple*********/
    UCHAR octet_lu;
    octet_lu=DlPortReadPortUchar(0x378);   //0x378 est l'adresse du port
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    VOID DlPortWritePortUchar(ULONG Port, UCHAR Value);   //écriture sur le port
    /*********Exemple*********/
    DlPortWritePortUchar(0x378, 255);   //met tout les bits du port 0x378 à 1
    voila avec ça ça devrait aller



    PS: Il y a aussi des fonctions pour écrire et lire des chaines des caratères mais je sais pas trop comment ça marche, moi j'ai pas eu besoin donc j'ai pas chercher.

  9. #9
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 15
    Points : 6
    Points
    6
    Par défaut
    Merci de votre reponse et merci à toi Damien, je vais tester cela, j'en ai pas trop eu le temps cette semaine (carnaval vous savez bien. )

Discussions similaires

  1. E/S sur le port parallèle sous Windows XP
    Par IOCTL dans le forum Windows
    Réponses: 2
    Dernier message: 02/11/2007, 09h27
  2. Probleme de gestion d'utilisateur sous Win 2000
    Par Mut dans le forum Windows 2000/Me/98/95
    Réponses: 0
    Dernier message: 10/08/2007, 11h47
  3. Port paralléle sous visual studio c++ 2005
    Par boudtoufle dans le forum Windows
    Réponses: 2
    Dernier message: 13/06/2007, 09h09
  4. Controler le port parallele sous win xp, possible?
    Par - Glop - dans le forum Bibliothèques tierces
    Réponses: 4
    Dernier message: 31/05/2006, 11h30
  5. Gestion du port paralléle sous 2000
    Par kardex dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 05/01/2006, 19h47

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