LiaGalanodel
Messages postés19Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention29 juillet 2010
-
26 juil. 2010 à 14:31
LiaGalanodel
Messages postés19Date d'inscriptionmercredi 3 mars 2010StatutMembreDernière intervention29 juillet 2010
-
29 juil. 2010 à 16:11
Bonjour a tous.
Je me présente Amélie, 21 ans, étudiante en licence mécatronique, j'ai un petit problème avec le contrôle de flux dans une liaison RS232 avec le langage C++.
Enfaite j'aimerais pouvoir transposer ce code sous windows:
Vers un code sous linux.
Le problème c'est que je ne trouve pas de fonction permettant de configurer les signaux RTS et DTR. Enfaite je ne trouve pas grand chose a part une fonction dans termios.h:
/* Controle de flux hardware RTS/CTS)*/
Config.c_cflag |= (CREAD | CRTSCTS)
Mais ça ne me permet pas de le mettre en mode HANDSHAKE oua utre.
Je suis complétement bloqué donc si vous avez des idées n'hésitez pas je vous en serais vraiment reconnaissante.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDernière intervention 6 février 2013 29 juil. 2010 à 15:57
Le simple fait d'activer l'option c_cflag va permettre de mettre un place le control de flux RTS/CTS. C'est ce qu'on appelle du "hardware handshaking".
Tu as aussi le software handshaking qui s'utilise via l'activation de l'option XON/XOFF, mais il est bcp plus lent.
Le mieux est que tu te fasses un petit projet qui met en oeuvre les elements de base (connexion, envoi de data, reception de data, fermeture de la connexion). Ca t'aidera surement a mieux comprendre comment tout cela fonctionne.
Pour ce qui est du control de flux il y a un petit passage en bas de page :
[i]Some versions of UNIX support hardware flow control using the CTS (Clear To Send) and RTS (Request To Send) signal lines. If the CNEW_RTSCTS or CRTSCTS constants are defined on your system then hardware flow control is probably supported. Do the following to enable hardware flow control:
options.c_cflag |= CNEW_RTSCTS; /* Also called CRTSCTS */