Programmation port série en c sous linux
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Programmation port série en c sous linux



  1. #1
    invite6ae216d1

    Programmation port série en c sous linux


    ------

    Bonjour !

    je veux savoir comment peut on détecter l'arrivé d'un caractère ou chaine au buffer du port série, dans la programmation c sous linux: une fonction ou des attribues .. je sais pas.

    s'il vous plait j’attende votre aide

    -----

  2. #2
    polo974

    Re : Programmation port série en c sous linux

    Les ports séries sont accessibles comme n'importe quel fichier (mais avec des possibilités en plus...).
    Donc un read permet d'attendre le prochain caractère.
    Et si on veut attendre autre chose en même temps ou pendant seulement un certain temps, il y a select (ou poll ou epoll), on en a déjà parlé.

    Sinon, il est possible d'ouvrir le port en non bloquant (voir open option O_NONBLOCK), faire une lecture, si erreur et errno==EAGAIN, il n'y a rien à lire, sinon utiliser le ou les caractères lus.

    Bon, en passant, se méfier des ports usb/série, ils peuvent disparaitre à tout moment et revenir sous un autre nom...
    Jusqu'ici tout va bien...

  3. #3
    invite6ae216d1

    Re : Programmation port série en c sous linux

    Bonjour !

    merci pour avoir répondu à ma question.
    Bon, j'ai trouvé une solution qui résout bien mon problème. c'est la fonction ioctl . voici le code suivant:

    Code:
    #include <sys/ioctl.h>
    #include<stdio.h>
    
    static int fd;
    
    int OpenPort(void);
    int ReadPort(char* Response, int lengMax);
    
    void main()
    {
        char* data_in=malloc(255*sizeof(char));
        int bytes;
        fd=OpenPort();
        while(1)
        {
            ioctl(fd,FIONREAD,&bytes);
            if (bytes>1)
            {
                 ReadPort(data_in,bytes);
                 printf("Received : %s",data_in);
            }
         }
    }
    ça fonctionne

Discussions similaires

  1. HELP!!!probleme programmation port serie win32
    Par inviteac751535 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 28/11/2010, 16h11
  2. Comment fermer port série (linux)
    Par inviteae955b90 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 01/06/2009, 12h47
  3. programmation port serie pc
    Par invitefc1671e3 dans le forum Électronique
    Réponses: 1
    Dernier message: 15/05/2007, 17h18
  4. Programmation du port série
    Par invitedd813fde dans le forum Électronique
    Réponses: 0
    Dernier message: 08/12/2005, 14h10
  5. Contrôler le port// sous linux..
    Par Tam dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 08/09/2004, 16h15