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

C Discussion :

Gestion de liaison série portable


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut Gestion de liaison série portable
    Bonsoir,


    Nouvel adepte de Code::Blocks, j'essaie de compiler du code PORTABLE pour gérer une liaison série

    L'exemple sur le lien suivant m'a paru pertinent:

    http://www-phase.c-strasbourg.fr/inf..._series.html#6


    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
     
    #include <stdio.h>
    #include <termios.h>
    #include <sys/fcntl.h>
     
    void main(void)
    {
    	int		fd;
    	char		c;
    	struct termios	termios_p;
     
    	/* Ouverture de la liaison serie */
    	if ( (fd=open("/dev/ttyS1",O_RDWR)) == -1 ) {
    		perror("open");
    		exit(-1);
    	}
     
    	/* Lecture des parametres courants */
    	tcgetattr(fd,&termios_p);
    	/* On ignore les BREAK et les caracteres avec erreurs de parite */
    	termios_p.c_iflag = IGNBRK | IGNPAR;
    Malheureusement, le fichier termios.h n'est pas trouvé.

    Quelqu'un a-t-il une idée ? Si possible autre chose que, "zy va prends du MFC ou du C++Builder". Je souhaite que cela soit portable.

    Je suis sous Windows XP, mais ceci ne doit pas être pris en compte.

    Merci

  2. #2
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Bayard
    Nouvel adepte de Code::Blocks, j'essaie de compiler du code PORTABLE pour gérer une liaison série
    Y'a pas vraiment moyen d'écrire du code 'série' portable, si ce n'est en créant une couche d'abstraction qui cache les détails non portables. Je ne sais pas si ça existe déjà, mais j'ai dû faire ceci dans ma jeunesse :

    Interface
    http://emmanuel-delahaye.developpez....com/inc/comm.h
    http://emmanuel-delahaye.developpez....c/comm_bds.itm
    http://emmanuel-delahaye.developpez....c/comm_bit.itm
    http://emmanuel-delahaye.developpez....c/comm_err.itm
    http://emmanuel-delahaye.developpez....c/comm_par.itm
    http://emmanuel-delahaye.developpez....c/comm_stp.itm

    Implémentations
    http://emmanuel-delahaye.developpez....c/linux/comm.c
    http://emmanuel-delahaye.developpez....c/win32/comm.c

    Test unitaire (ébauche)
    http://emmanuel-delahaye.developpez..../tu/src/main.c

    Ce qui manque est ici (fin de la page)

    http://emmanuel-delahaye.developpez.com/reseaux.htm

    et là

    http://emmanuel-delahaye.developpez.com/clib.htm

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    Les deux premiers liens sont "cassés".

    Il semble que ce soient les plus savoureux...

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Bayard
    Les deux premiers liens sont "cassés".

    Il semble que ce soient les plus savoureux...
    Je viens de tout vérifier, ils sont OK. Tu avais bien noté la remarque 'installation des fichiers en cours' ?

  5. #5
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    C'est OK

    Merci bien

  6. #6
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    1) Bon, j'ai eu du mal à comprendre ce que signifier ed dans le chemin d'include.

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "ed/inc/sys.h"
    J'ai supposé qu'il s'agit des initiales de son iLLustre auteur. N'empèche sys.h n'est pas connu.

    2)

    Bref (toujours avec code::blocks) de nombreux fichiers ne sont pas trouvés.
    (types.h...)
    Parmi les nombreux fichiers non trouvés: termios.h !!!

    Est-ce que (pour code::blocks) je dois installer quelque chose ?

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Bayard
    1) Bon, j'ai eu du mal à comprendre ce que signifier ed dans le chemin d'include.

    Par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include "ed/inc/sys.h"
    J'ai supposé qu'il s'agit des initiales de son iLLustre auteur. N'empèche sys.h n'est pas connu.
    J'ai pourtant indiqué où se trouvaient les sources manquants...

    http://emmanuel-delahaye.developpez.com/clib.htm

    Si tu ne mis pas les articles cités, on ne va pas avancer. Il y a toutes les indications nécessaires pour installer le bousin.

    Je recommande de respecter mon arborescence, sachant que la racine (.../clib) peut être n'importe où (chez moi c'est en C:/ sous Windows et en /usr/moncompte/ sous linux.

    2)

    Bref (toujours avec code::blocks) de nombreux fichiers ne sont pas trouvés.
    (types.h...)
    Parmi les nombreux fichiers non trouvés: termios.h !!!

    Est-ce que (pour code::blocks) je dois installer quelque chose
    Il semble évident que sous Windows, il ne faut pas chercher à compiler le fichier

    http://emmanuel-delahaye.developpez....c/linux/comm.c

    de même que sous Linux, on ne compilera pas

    http://emmanuel-delahaye.developpez....c/win32/comm.c

    Parfois, il suffit de réfléchir un tout petit peu...

Discussions similaires

  1. Windev : Gestion de liaison série par événement série
    Par jurassic pork dans le forum Contribuez
    Réponses: 2
    Dernier message: 02/10/2023, 11h11
  2. gestion de la liaison série avec VBA
    Par riquet90 dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 11/08/2008, 17h30
  3. Réponses: 4
    Dernier message: 30/03/2007, 16h27
  4. Pb avec classe CCOM (Gestion de liaison série)
    Par pdaniel dans le forum MFC
    Réponses: 7
    Dernier message: 08/03/2007, 10h09
  5. liaison série
    Par elodie escande dans le forum MFC
    Réponses: 13
    Dernier message: 14/01/2004, 17h57

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