Simuler port série RS232 [Résolu]

Messages postés
8
Date d'inscription
mercredi 9 juin 2010
Dernière intervention
4 avril 2012
- - Dernière réponse : alilou2955
Messages postés
8
Date d'inscription
mercredi 9 juin 2010
Dernière intervention
4 avril 2012
- 15 nov. 2010 à 10:19
Bonjour.
Je voudrais faire des modif/ajouts sur une application C/C++ existante. Celle-ci utilise le port série RS232 (COM1 par exemple) pour recevoir des données envoyées par des capteurs de détection de mouvement.
Pour faire mes tests, je ne veux pas attendre les signaux envoyés par ces capteurs, car je cherche à détecter des mouvements particuliers qui se produisent rarement. C'est pour cela que je cherche à simuler la réception de ces signaux en les lisant par exemple directement à partir d'un fichier xml (ou .txt pour faciliter les traitements).

Est-ce que quelqu'un a déjà sous la main un code (en C ou en C++) qui me permettra de simuler le port série RS232 en lisant directement les données à partir d'un fichier au lieu de les lire du port RS232 ? Si ce n'est pas le cas, y a-t-il quelqu'un qui peut m'aider à le faire ? Ca fait un bail depuis que je n'ai pas programmé. J'ai perdu la main .
Merci d'avance.
PS :
1) Je suis sous Windows XP ou 7.
2) J'ai déjà écrit un programme C qui lit et écrit sur les ports RS232. Si qlq en a besoin, je peux le lui envoyer. Je peux aussi vous le poster ici si vous jugez que cela peut vous aider à m'aider .
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
3
Merci
L'ami google (avec "c++ com port emulator") m'a trouvé ceci en moins de 2sec.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de fregolo52
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
0
Merci
Ca ne répond pas à ta question, mais je pense que ca peut t'aider. Il te suffira de crée ton propre programme de test qui simule ton détecteur (en lisant le fichier texte).
Commenter la réponse de fregolo52
Messages postés
8
Date d'inscription
mercredi 9 juin 2010
Dernière intervention
4 avril 2012
0
Merci
Bonjour.
Ce n'était pas l'idé du départ, mais fregolo52 m'a donné une autre idée (merci ). J'ai créé avec l'utilitaire "com0com" 3 paires virtuelles de ports RS232 et j'ai utilisé l'utilitaire "hub4com" pour envoyer le contenu d'un port sur les deux autres.
Pour faire un test simple, j'envoie mes données sur COM1 et j'écoute sur COM2 pour voir si je vais les recevoir ou pas. Etant donné que COM1 et COM2 appartiennent à la même paire, ce qui est envoyé sur COM1 devrait apparaître sur COM2.
Le test est presque concluant, mais j'ai un petit problème. Les messages reçus sur COM2 sont parfois un peu tronqués! Par exemple j'envoie "DETX001" puis "DETX002", puis je reçois "DETX001DE" puis "TX002". Au final, ce qui est envoyé est reçu mais malheureusement les chaînes sont tronquées, ce qui n'est pas acceptable car ces chaînes sont des commandes à envoyer à une autre application.
Le problème me semble venir du vidage du contenu du buffer du port série mais je n'arrive pas à le résoudre.

Le code source, les tests effectués et d'autres explications sont sur le lien suivant que j'ai posté hier :
Envoi sur port série(url=http://www.cppfrance.com/forum/sujet-ENVOI-SUR-PORT-SERIE_1479440.aspx).
Je vous remercie d'avance pour vos réponses ou commentaires et le temps que vous y consacrez.
Commenter la réponse de alilou2955

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.