Bonjour.
Voila je suis assez débutant en C# et je dois créer une interface entre un Codeur Mpeg2 en temps réel et un utilisateur.
Cette machine possède son propre langage de communication que l'on envoie par port COM.
Lorsque j'utilise hyperterminal avec l'option local echo il n'y a aucun problème mais lorsque je tente d'envoyer la même commande par mon programme il ne se passe rien.
Voici un petit exemple si jamais je n'est pas été clair:
voici ce que je tape sous hyperterminal en mode local echo:
Puis j'appuie sur Enter et la je reçois l'acquittement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part >>MUX.control=local_Cr
Par mon programme je fais ceci:Et rien ne se passe.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.port.WriteLine(">>MUX.control=local_Cr");
J'ai aussi un deuxième problème. (je sais je suis embêtant).
Lors de la réception de l'acquittement, je tente de faire un read sur le port COM, mais cela fait bloquer mon programme, aucune exception n'est levé, il bloque simplement puis plante.
Voici mon code, j'ai pensé que cela viendrais du fait que la plus par du temps le buffer de lecture et vide sauf au moment de l'acquittement et donc je tente de lire un buffer vide ce qui pourrais faire planter le programme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.port.ReadLine()
Mais dans ce cas comment faire pour dire au programme de regarder au bon moment dans le buffer?
Merci de vos réponse
Partager