Bonjour,
je veux écrire un programme qui va assurer la communication entre deux pc via le port série par exemple.
ci-dessous la liste des fonctions relatives au port série :
Ces fonctions sont fonctionnelles et un petit programme de test vérifie ça.Code:void ClosePort() int OpenPort() int WritePort(char* Output) int ReadPort(char* Response, int lengMax)
Moi je veux écrire deux threads une responsable à la réception via le port série et l'autre responsable à l'émission via le port série.Ces deux threads vont etre exécuté en parallèle.
Pour cela j'ai écrit le code suivant:
Le programme est compilé mais lorsque je l'exécute il m'affiche "Segmentation default". Je sais pas si la cause de ce message est débile ou non mais j'ai pas trouvé où est le problème.Code:void *myread (void * arg) { char *data_out; int i,d; char data_in[254]; while (1) { printf(">"); getline(&data_out,&d,stdin); if(strcmp(data_out,"exit")) pthread_exit (0); WritePort(data_out) ; } pthread_exit (0); } void *mywrite (void * arg) { while (1) { ReadPort(data_in,254) ; printf("*** %s\n", data_in); } pthread_exit (0); } void main () { pthread_t th1,th2; void *ret; OpenPort(); pthread_create (&th1, NULL, myread, "1") ; pthread_create (&th2, NULL, mywrite, "2") ; (void)pthread_join (th1, &ret); (void)pthread_join (th2, &ret); }
J'ai besoin de votre aide pour terminer mon programme.
Merci d'avance
-----