Forum Programmation.c libieee1284 et lecture des bits de données

Posté par  .
Étiquettes : aucune
0
28
juil.
2006
cela fait un petit moment que je tente de lire les valeurs présentes sur le port parallèle, et que je n'obtiens rien ou à peu près : toujours la valeurs 4 (?!!?).

J'utilise donc la librairie libieee1284, et j'ai suivi les étapes préconisées dans la documentation officielle :

Réglages
----------------------------------------------------
ieee1284_find_ports (je cherche les ports) : OK
ieee1284_get_deviceid (je cherche un id pour un port donné) : erreur E1284_NOTAVAIL

ieee1284_open (j'ouvre le port en mode EPP) : OK
ieee1284_claim (je réclame le port) : OK
ieee1284_get_irq_fd (je place une interruption) : OK
select (afin d'attendre l'interruption) : OK
----------------------------------------------------


puis je génère un signal sur la broche ACK
et je quitte le select pour :
ieee1284_read_control (afin de lire la valeur des données)

et là quoique je fasse, j'obtiens toujours 4 comme valeur lue (je change les valeurs des broches de données à l'aide d'un petit générateur de courant continu).

Je suis assez embêté car je ne trouve pas d'information sur le net au sujet de cette lib, ce qui laisse à penser que j'ai rien compris au fonctionnement du port parallèle et de cette lib !

Auriez-vous une piste ? Ou au pire une idée de forum spécialisé sur ces types questions ?
  • # ca risque de nepas t'aider mais

    Posté par  . Évalué à 2.

    la libieee1284 n'est pas la pour te permettre un acces simple au port paralelle mais pour te fournir des fonctions ieee1284 qui passe par un port paralelle.

    Si tu veut acceder plus "simplement" au port paralelle est faire des entre sorties directe je te conseille la lecture des fichiers
    /usr/src/Linux/Documentation/parport-lowlevel.txt
    /usr/src/Linux/Documentation/parport.txt

    qui sont presents dans les sources de ton kernel linux
    ou en ligne
    http://www.gelato.unsw.edu.au/lxr/source/Documentation/parpo(...)
    voila
    • [^] # Re: ca risque de ne pas t'aider mais

      Posté par  . Évalué à 1.

      j'attends encore 24h, et si je ne trouve pas autre chose je passerais à cela :-(. J'espère que cela ne me fera pas pareil avec un accès "low level" :-(.

      P.S.: merci tout de même pour l'info, c'est toujours une piste :-)
      • [^] # Re: ca risque de ne pas t'aider mais

        Posté par  . Évalué à 1.

        j'ai un vieux doute ... mais je serais pas obligé de développer un module pour pouvoir utiliser ces fonctions ?

        P.S. : j'ai pas du tout envie de développer un module
        • [^] # Re: ca risque de ne pas t'aider mais

          Posté par  . Évalué à 2.

          Non, non, il existe déjà depuis belle lurette et heureusement. Par contre, j'ai eu le même problème que toi, et j'ai été assez triste de me rendre compte que l'accès à un port parallèle n'était pas « portable ».

          Il existe ppdev et parport. Ensuite, tu ouvres ton fichier spécial (/dev/parport et pas /dev/lp), et tu contrôles le tout avec des ioctl.

          J'avais posté un journal pour faire la même chose. Tous les détails ici :

          https://linuxfr.org/forums/19/8431.html

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.