2011-08-16 3 views
0

J'ai une question similaire dans le forum. Change baud rate in C# without closing connection. Dans cette question, j'ai demandé comment changer la vitesse de transmission sans fermer le port. Quelqu'un m'a suggéré de fermer et rouvrir le port mais j'ai déjà essayé cela avant de poser cette question, cela n'a pas fonctionné non plus. Fermer et rouvrir le port n'est pas important pour moi (le logiciel tiers qui parle aussi avec le même compteur, ne fermait pas le port quand je le surveillais donc j'ai posé cette question en pensant que c'est peut-être un indice) taux de l'appareil. J'attends de l'aide. Merci pour votre temps .. Ferda OzdemirImpossible de modifier la vitesse en bauds en C# même si le port est fermé et rouvert après le réglage du nouveau débit en bauds

+0

Pouvez-vous donner des détails sur l'appareil auquel vous vous connectez s'il vous plaît? – dbasnett

+0

Salut Dbasnett, je me connecte à un compteur électrique électronique. Il commence à 300 bauds puis il passe à 4800 bauds. Il existe un autre logiciel pour cet appareil. Je cours ce logiciel et surveille le port. Je vois qu'il envoie la commande ACK au compteur pour changer le débit en bauds à 4800 et il continue à lire. Mais dans mon logiciel, j'envoie la même commande au compteur et je ne peux plus communiquer avec lui. –

+0

Avez-vous essayé d'exécuter votre programme à 4800? – dbasnett

Répondre

0

Mon objet serialport a été défini dans mon formulaire principal. J'envoyais à ma fonction de lecture en tant que paramètre. Et faire tout là-bas comme l'ouverture du port, le réglage de la vitesse de transmission, l'écriture des données, la fermeture du port, etc. Mais j'ai exécuté cette fonction dans un autre thread. Quand j'essaye de changer la vitesse de transmission je pense qu'il existe un retard ou quelque chose donc je ne peux pas changer la vitesse correctement. Ensuite, j'ai changé mon code et maintenant je peux changer le débit en bauds et continuer avec d'autres choses. Je vous remercie pour votre aide.

+0

Vous devez attendre que le pilote ait eu la possibilité de vider le tampon d'écriture. À 300 bauds, cela prend du temps, il n'écrit que 30 octets par seconde. –

Questions connexes