no save
Assistance
Achat
News

Forum | Linux/Unix
[Linux - prog en C] Lécture liaison série
Grmi91, le lun. 05 févr. 2007 à 17:30:43
Bonjour, voilà je souhaiterais lire des données que me renvoies mon robot par l'intermediaire d'un programme en C. J'arrive à écrire des trames et les envoyées sur la liaison série (le robot fait les mouvements que je lui demande). En revanche je n'arrive pas à lire ce qu'il me renvoie (si je tape le caractere '$', le robot devrait me renvoyer ses positions). Sous windows avec procomm j'y arrive, ce qui n'est pas le cas sous linux !!!

Donc voilà un morceau du programme:

/* Déclarations des variables*/
char trame[50];
char *trameRecue;
int fichier;

/*Ouverture du fichier (port COM1) en lecture/ecriture*/
if ((fichier=open("/dev/ttyS1",O_RDWR)) == -1 )
{perror("open");exit(-1);}

(...)

/* Ecriture dans fichier (envoie sur liaison serie (port COM1)) */
if ((write(fichier, &trame, strlen(trame))) == -1 )
{perror("write"); close (fichier); exit(-1);}

/* Lecture dans fichier (reception sur liaison serie (port COM1)) */
if ((read (fichier, &trameRecue, 1)) == -1)
{perror("open"); close (fichier); exit(-1);}

=>Au moment de la lecture, le programme attend un caractère, mais le problème c'est qu'apparement il reçoit rien !?

Si quelqu'un pouvais m'aider ça serais sympa. Merci Configuration: Linux Fedora Core 3


dubcek
févr. 07
Suivant
REPONSES
dubcek
févr. 07
dubcek
févr. 07
Grmi'91
févr. 07
dubcek
févr. 07
Grmi'91
févr. 07
Grmi'91
févr. 07
Version Web
Réalisé par RedShift
no save