Se connecter avec
S'enregistrer | Connectez-vous

C++ port Com !

Dernière réponse : dans Programmation

bonjour a tous !

Je fait actuellement un programme qui recoit des donnees sur le port com que le pc doit recuperer et archiver.
J ai donc commencer tous mon code et tous marche nickel, me manque plus que faire la partie ouverture port com (la plus dure pour moi) mon code se presente comme suis :

  1. int open_port(char port[10]) {
  2.  
  3. int fd;
  4. DCB dcb;
  5.  
  6.  
  7. // Parametrages.
  8. dcb.DCBlength = sizeof(DCB);
  9. dcb.BaudRate = 9600;
  10. dcb.ByteSize = 8;
  11. dcb.Parity = NOPARITY;
  12. dcb.StopBits = ONESTOPBIT;
  13.  
  14. dcb.fOutxCtsFlow = FALSE;
  15. dcb.fOutxDsrFlow = FALSE;
  16. dcb.fDsrSensitivity = FALSE;
  17. dcb.fTXContinueOnXoff = TRUE;
  18. dcb.fNull = FALSE;
  19. dcb.fRtsControl = RTS_CONTROL_ENABLE;
  20. dcb.fDtrControl = DTR_CONTROL_ENABLE;
  21. dcb.fAbortOnError = TRUE;
  22.  
  23. return 1;
  24. }


Je voudrais que si le port com( 1 ou 2) s ouvre correctement, un message du type "ouverture reussie!" saffiche. J ai pas reussi a le faire car je connais pas des masses le port com et son fonctionnement.Les donnes que le pc recoit doivent etre archivees je pense pouvoir faire mais si quelqun a une idee elle est la bienvenue!

sa Sa fait quelques jours que je planche dessus mais rienn y fait!

Pourriez vous m aider ? merci beaucoup a tous !

Autres pages sur : port com

Lassé par la pub ? Créez un compte

je les ai miten commentaire vut que sa marche pas

  1. if ((sensorHandle=EcSensorNTInitNmea(TTY_DEVICE_NAME)) == NULL)
  2. {}
  3. if( (GetCommState( sensorHandle, &dcb )) == FALSE ) // Not able to get current settings
  4. {
  5.  
  6. }


voila ;) 

j essaye toujours :) 
Expert Programmation

Ben tu as un test pour vérifier si le handle retourné par EcSensorNTInitNmea est vide ou pas mais tu ne fais rien !!!

Commence par vérifier la validité de sensorHandle.

En plus tu veux vérifier, ben fais-le : utilise MessageBox.
Lassé par la pub ? Créez un compte