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 :

ecriture d'un pilote de périphérique


Sujet :

Linux

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut ecriture d'un pilote de périphérique
    chuis sous ubuntu 8.04 je veux développer un pilote pour le port série pour communiquer avec la carte 68hc11 micro-contrôleur
    comment accéder au port et envoyer mes commandes

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "#23#3#0F" > /dev/ttyS0
    en admettant que tu pilotes un equipement qui sait analyser les caracteres #23#3#0F en sequence...

    quand à ecrire un pilote c'est peut etre pas utile si ta carte de programmation sais "lire" les mots 16bits en entree ?

    en utilisant le meme style de methode...

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    tous ce que je cherche c le nom du module du port série en tapant 'lsmod ' s'il n'existe pas dans ce cas il fallait que je développe mon propre pilote j"espere q tapiger l'idée M.nabogrotesque

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 33
    Points : 37
    Points
    37
    Par défaut
    me demande si il est en module tellement c standard il doit etre noyau includedje suppose....

  5. #5
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    Par défaut
    voila un site qui explique l'archi d'un driver pour des periph sur port serie:
    http://www.linux.it/~rubini/docs/serial/serial.html

    par contre je ne comprend pas trop pourquoi tu cherche le nom du module...

    si tu n'as encore jamais programmé de driver je te conceil fortement de lire au moins les 3 premiers chapitres de linux device drivers: http://lwn.net/Kernel/LDD3/

    si ca te parrait trop compliqué, tu n'est pas obligé de passer par le kernel space, tu peut tres bien controler ton periph grace aux fonctions read/write du user space !
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    ce lien est intéressant
    mais je veux établir une liaison par le port série grace aux fonctions read/write donc il me faut un programme et ensuite je veux le tester sur mon port d'abord par un court-circuit (Tx-Rx) et dans ce cas si j'arrive à envoyer un caractére je le reçoi sur la même station (ubuntu)

  7. #7
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    Par défaut
    je ne comprend pas ta question, tu as apparement l'air de savoir ce que tu veux faire...
    quelle est exactement ta question ?
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  8. #8
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    Par défaut
    ps: si tu compte aussi faire de la gestion de flux, tu aura aussi besoin de ioctl (pour tout ce qui est xon/xoff, DTR/DSR, RTS/CTS, vitesse de transmission etc...)

    je te conceil avant de te lancer dans la programation de faire quelques test avant avec minicom par exemple
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  9. #9
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  10. #10
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    comment faire pour tester ce programme ?
    si ce programme marche, comment utiliser les read/write le port série ??


    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
     
        #include <stdio.h>   /* Standard input/output definitions */
        #include <string.h>  /* String function definitions */
        #include <unistd.h>  /* UNIX standard function definitions */
        #include <fcntl.h>   /* File control definitions */
        #include <errno.h>   /* Error number definitions */
        #include <termios.h> /* POSIX terminal control definitions */
     
        /*
         * 'open_port()' - Open serial port 1.
         *
         * Returns the file descriptor on success or -1 on error.
         */
     
        int
        open_port(void)
        {
          int fd; /* File descriptor for the port */
     
     
          fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
          if (fd == -1)
          {
           /*
    	* Could not open the port.
    	*/
     
    	perror("open_port: Unable to open /dev/ttyS0 - ");
          }
          else
    	fcntl(fd, F_SETFL, 0);
     
          return (fd);
        }

Discussions similaires

  1. Pilotes de périphériques
    Par ArKam dans le forum Embarqué
    Réponses: 4
    Dernier message: 27/03/2011, 16h09
  2. Linux et les pilotes de périphériques
    Par bruce-willis dans le forum Matériel
    Réponses: 7
    Dernier message: 27/07/2009, 15h30
  3. Comment piloter un périphérique via web browser
    Par crevygood dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 28/01/2009, 10h47
  4. Piloter un périphérique
    Par crevygood dans le forum Silverlight
    Réponses: 1
    Dernier message: 23/12/2008, 11h49
  5. pilotes et périphériques
    Par vg-matrix dans le forum Windows XP
    Réponses: 2
    Dernier message: 30/11/2008, 12h15

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