Forum Programmation.c port parallele

Posté par  .
Étiquettes : aucune
0
20
mai
2005
Bonjour à tous,

après le port série et USB, je viens avec le port parallele !!!!!

Je voudrais savoir comment on le programme !!

Mais c'est plus compliqué! On m'as dit que les commandes avait changer pour celui-ci. Je vais programmer avec RedHat FEDORA
  • # 2 solutions

    Posté par  . Évalué à 3.

    Si tu connais l'adresse E/S du port parallèle, tu peut écrire et lire sur /dev/port après l'avoir fait pointer sur ton port // avec lseek.
    Ou tu peut aussi utiliser outp et inp.
    • [^] # Re: 2 solutions

      Posté par  . Évalué à 1.

      Oui, sur la version que j'ai de redHat, j'utilise ioperm, inb et outb

      Mais je vais passer sur une version plus recente de redHat et là, il ne prends plus inb outb et ioperm.....

      On m'as renseigner comme ca. En fait je suis en stage et jusque lundi, ( aujourd'hui vendredi) je dois trouver ce qui change. C'est mon boulot. Et j'ai déjà chercher , chercher,chercher ,................... mais rien.

      On m'as aussi dit ( sur le net) que l'on n'utilisais plus ioperm, etc
      Mais il fallait que je me renseigne sur parport !?!?!?
      Et la non plus mes recherche ne son pas fructueuse......
      • [^] # Re: 2 solutions

        Posté par  . Évalué à 2.

        Là encore, tu mélanges un peu toutes les couches !

        Tu veux faire quoi avec ton port parallèle ? Ecrire dessus pour causer à ton imprimante ? Envoie tes caractère vers /dev/lp0, tout simplement.

        Tu veux gérer les lignes de ton port une à une pour piloter une interface bricolée ? Vois plutôt du coté de /dev/parport. Il faudra se plonger un peu dans les sources car on manque de détails sur ce fichier spécial, mais bon. (J'ai le même problème en ce moment : http://linuxfr.org/forums/19/8431.html(...) )

        Tu veux apprendre comment fonctionne un PC (en bas niveau), faire un peu d'assembleur ? Tu peux utiliser ioperm(), inb(), outb() si tu veux travailler sous Linux mais sache qu'une mauvaise valeur déposée au mauvais endroit peut planter ta machine en une seule opération. Bref, apprends déjà l'assembleur et renseigne-toi sur le fonctionnement d'une machine. Tu peux aussi utiliser quelques disquettes DOS, voire pourquoi une petite partition dédiée (quelques Mo). C'est archaïque pour une utilisation de bureau, par contre énormément de logiciels l'utilisaient il n'y a pas si longtemps, et surtout c'est complètement monotâche et en mode réel : Tu peux désactiver les interruptions à volonté, compter les cycles machines d'une routine, et écrire comme un porc dans tous les devices qui t'intéressent :Tu es tout seul.


        Je pense que la première chose qu'il faut que tu éclaircisses est ce que tu veux faire au final. Ensuite tu pourras commencer à réfléchir aux moyens à mettre en oeuvre pour y parvenir.
      • [^] # Re: 2 solutions

        Posté par  (site web personnel) . Évalué à 1.

        S'il s'agit de controler les 3 registres du port //, sous Linux aucun besoin d'attaquer le bus I/O (ioperm, inb, outb), c'est meme a eviter. Pour les methodes plus traditionnelles, cf le lien que rappelle Robin des bulles (ppdev). S'il s'agit d'imprimer des trucs sur une imprimante parallele, il suffit de faire des read et des write sur /dev/lpX.

        Et puis, franchement, les docs sur le port // pour Linux et Windows, c'est pas ca qui manque sur google.

        http://people.redhat.com/twaugh/parport/html/ppdev.html(...)
        http://www.torque.net/linux-pp.html(...)
        http://www.lvr.com/parport.htm(...)

Suivre le flux des commentaires

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