Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3063 connectés 

  FORUM HardWare.fr
  Programmation
  C

  probleme de communication série

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme de communication série

n°1903025
Flow91
Posté le 07-07-2009 à 10:25:38  profilanswer
 

--------------------------------------------------------------------------------
 
Bonjour,  
 
J'ai un probleme pour ecrire sur le port série de mon pc.
J'ai fais ce code ci dessous via une documentation que j'ai trouvé.
Pourtant quand j'ecris dessus, la fonction write me renvoi la valeur -1.
Je ne sais pas d'où ca peut venir.
 
Sachant que j'execute Init_ComPort en premier, puis le onClick correspond à quand l'utilisateur clique sur un bouton.
 
J'espere que quelqu'un pourra m'aider.
Florent
 
 
 

Code :
  1. struct termios Init_ComPort(int &fd)
  2. {
  3. struct termios oldone, newone;
  4. fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY);
  5. if(fd < 0) gtk_main_quit();
  6. fcntl(fd, F_SETFL, 0);
  7. tcgetattr(fd, &oldone);
  8. bzero(&newone, sizeof(newone));
  9. cfsetispeed(&newone, B19200);
  10. cfsetospeed(&newone, B19200);
  11. newone.c_cflag =(CS8 | CLOCAL | CREAD) ;
  12. newone.c_iflag = IGNPAR;
  13. newone.c_oflag = 0;
  14. newone.c_lflag = 0;
  15. newone.c_cc[VMIN] = 0;
  16. newone.c_cc[VTIME] = 20;
  17. tcflush(fd, TCIFLUSH);
  18. tcsetattr(fd, TCSANOW, &newone);
  19. return oldone;
  20. }
  21. void Close_ComPort(int &fd, struct termios &old)
  22. {
  23. tcsetattr(fd, TCSANOW, &old);
  24. close(fd);
  25. }
  26. void OnClick(GtkWidget *pWidget, gpointer pData)
  27. {
  28. GtkWidget *pdialog;
  29. int *pfd = (int*)pData;
  30. int fd = *pfd;
  31. char retour[6]= {0,0,0,0,0,0};
  32. tcflush(fd, TCIFLUSH);
  33. int n = write(fd, "AAA",3);
  34. int i = read(fd,retour, 3);
  35. retour[3] = 0;
  36. pdialog = gtk_message_dialog_new( NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,"Caracteres envoyes : %i\nCaracteres recu : %i, %s",n,i, retour);
  37. gtk_dialog_run(GTK_DIALOG(pdialog));
  38. gtk_widget_destroy(pdialog);
  39. }

mood
Publicité
Posté le 07-07-2009 à 10:25:38  profilanswer
 

n°1904614
Emmanuel D​elahaye
C is a sharp tool
Posté le 11-07-2009 à 16:35:42  profilanswer
 

Flow91 a écrit :


J'ai un probleme pour ecrire sur le port série de mon pc.
J'ai fais ce code ci dessous via une documentation que j'ai trouvé.
Pourtant quand j'ecris dessus, la fonction write me renvoi la valeur -1.


Quel est ton système ?


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1908693
Financier
Posté le 26-07-2009 à 22:06:49  profilanswer
 

j'ai eu exactement le même problème, mais en réalité c'est très facile à récupérer, je crois que tu t'inquiètes pour rien, là...


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  probleme de communication série

 

Sujets relatifs
PL/SQL : Problème d'apostophes dans génération de liste de valeursproblème de jointure dans ma requette
[java] Problème d'optimisation de traitements batchProblème rafraichissement JTable
[RESOLU] Problème de vérouillage dans ma feuille excel[OK] problème d'éxécution du PHP sur mon serveur apache (sous centos)
au secours probleme joomla et Internet Explorer[résolu] probleme fopen : php_network_getaddresses
[imagemagick] problème pour récuperer la valeur d'un pixelProblème de choix de jointure
Plus de sujets relatifs à : probleme de communication série


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR