2010-06-21 5 views
0

J'utilise le langage C et Linux comme ma plate-forme de programmation. Et j'ai des problèmes dans la mise en place du port série (/ dev/ttyS0). Dans mon petit programme, je mis mon port série en utilisant tcgetattr et tcsetattrImpossible de détecter les premières données envoyées dans le port série

options.c_cflag |= B115200; 
options.c_cflag &= ~PARENB; 
options.c_cflag &= ~CSTOPB; 
options.c_cflag &= ~CSIZE; 
options.c_cflag &= ~CRTSCTS; 
options.c_cflag |= CS8; 
options.c_cflag |= (CLOCAL | CREAD); 
options.c_iflag &= ~(IXON | IXOFF | IXANY); 

Mon problème est, mon application ne soit pas les premières données que j'ai envoyé. Ai-je manqué de la valeur?

Merci.

+0

Pouvez-vous venir avec un échantillon minimal qui reproduit ce comportement? Personnellement, je ne sais pas si cela peut être résolu autrement. – INS

Répondre

0

Est-il possible que votre application devient la première chose que vous envoyez, mais il a au début indésirable de connexion/configuration et n'est pas analysée correctement?

Vous pouvez essayer rincer la série juste après initialisation ou l'envoi CR/LF juste après init pour voir si cela efface les choses avant que vous envoyez à votre application.