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

Linux Discussion :

Accès ioperm() en C++


Sujet :

Linux

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Par défaut Accès ioperm() en C++
    Bonjour.
    Je n’arrive pas à accéder aux port parallèle.
    Voici le code :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    #include <QCoreApplication>
     
    #include <stdio.h>
    #include <unistd.h>
     
    #include <iostream>
     
    #include <sys/io.h>
    #define BASEPORT 0x378 /* lp1 */
     
    using namespace std;
     
    int main(int argc, char *argv[])
     
     
    {
        QCoreApplication a(argc, argv);
     
     
     
    ioperm(0x300,3,1);
     
        /* Obtention de l'accès aux ports */
         if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}
     
         /* Initialisation de tous les signaux de données (D0-D7) à l'état bas (0) */
         outb(0, BASEPORT);
     
         /* Dormons pendant un moment (100 ms) */
         usleep(100000);
     
     
         /* Lecture sur le port d'état (BASE+1) et affichage du résultat */
         cout  <<  inb(BASEPORT + 1);
         cout << endl;
     
     
         /* Nous n'avons plus besoin de l'accès aux ports */
         if (ioperm(BASEPORT, 3, 0)) {perror("ioperm"); exit(1);}
     
     
     
        return a.exec();
    }
    Je ne comprends pas ce qui se passe le programme me répond ; " Opération non permise" .

    Merci

  2. #2
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    à vue de nez je dirais que :
    - ton post n'est pas dans la bonne section
    - il faut exécuter le code en root

Discussions similaires

  1. [Windows]accès base de registre windows
    Par Greg01 dans le forum API standards et tierces
    Réponses: 27
    Dernier message: 05/06/2007, 15h14
  2. Accès au ports
    Par YéTeeh dans le forum C++Builder
    Réponses: 6
    Dernier message: 29/07/2002, 14h54
  3. Exécution indivisible (accès conccurent)
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 23/07/2002, 08h09
  4. Multi-acces a la BD Paradox
    Par _Rico_ dans le forum Paradox
    Réponses: 3
    Dernier message: 22/07/2002, 15h33
  5. Accès à une application ouverte (OLE Automation ?)
    Par PascalB dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/06/2002, 14h39

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