J'ai écrit un programme en .NET qui écoute un port série particulier et traite les données reçues. J'ai écrit un programme de test en utilisant com0com (l'émulateur Null-modem) et mon programme fonctionnait bien. Je l'ai même testé avec HyperTerminal et cela a semblé bien fonctionner aussi.
Cependant, lorsque j'ai interfacé le logiciel avec le périphérique d'origine (une sortie reçue d'un système de contrôle), les données reçues étaient brouillées. Il contenait des caractères spéciaux. Le même périphérique connecté à Hyper Terminal produit la sortie souhaitée. J'ai changé les vitesses de transmission, la parité, etc., mais les données reçues étaient le même ensemble de caractères parasites.
J'ai utilisé l'événement DataReceived du composant SerialPort et utilisé la ligne de code suivante pour capturer des données:
Réception de données non valides à partir du port série à l'aide de SerialPort.ReadExisting()
string data = portRecieve.ReadExisting();
Quelqu'un peut-il me dire où suis-je manquais? Dans l'environnement actuel, la sortie du périphérique est directement connectée à une imprimante matricielle qui imprime tout ce qui est reçu sur le port. L'imprimante semble attraper ce qui est envoyé mais mon code ne peut pas.
Si vous avez déjà rencontré un scénario similaire, veuillez partager vos conclusions.
Merci
Oui, je vais maintenant experiement avec Binary Receive. – Burhan