Comment deux applications, sur le même port COM, peuvent-elles se parler?

a marqué ce sujet comme résolu.

Bonjour à tous,

J’ai besoin de créer un simulateur / une application de test qui écoute et répond sur le même port série que l’application à tester. En fonctionnement normal, mon application interroge des périphériques externes via RS232 -> Rs485 sur fil -> RS485 -> uC

Pour l’application de test, je veux l’exécuter sur le même ordinateur et remplacer tout ce qui est bien du RS232, de sorte que l’application de test écoute et réponde aux interrogations effectuées par le "moteur" d’interrogation.

Des idées seraient vraiment appréciées!

Je vous remercie,

Tu formules assez mal ta problématique, je ne suis pas sûr de te suivre sur le scénario.

En somme tu veux que deux applications sur le PC exploitent le même port COM pour communiquer avec un microcontrôleur de l’autre côté, c’est ça ?

Il est en effet pas possible de faire ça directement. Car il y aurait un conflit en lecture et écriture.

Suivant ce que tu veux réellement faire, tu as deux possibilités assez évidentes je dirais selon moi.

Si tes deux applications n’ont pas besoin de s’échanger des informations. C’est-à-dire que A et B communiquent sur le port COM, mais quand A communique avec le microcontrôleur, B n’a pas besoin de savoir ce que A envoie au microcontrôleur ou la réponse du microcontrôleur à A. Dans ce cas, suffit de mettre en place une gestion de concurrence, du genre un fichier de verrouillage à un endroit du système. Si le fichier a été crée par A ou B, il garde la main sur la ligne de communication et l’autre attend que ce fichier soit supprimé par exemple pour le créer à son tour et avoir accès au port.

Si tu veux que A et B (ou l’un des deux du moins) sache ce que l’autre envoie ou reçoit du port COM, il faudrait une application intermédiaire. Cette application recevrait, probablement via un socket, les requêtes de chacune à envoyer sur le port COM et pourrait distribuer aux deux les réponses en précisant à quelle requête cette réponse correspond.

Je ne suis pas expert Windows ensuite, il y a peut être un moyen supplémentaire et plus interne pour par exemple cloner la ligne et que l’OS gère lui même cette problématique mais cela me paraît peu probable.

+0 -0

En somme tu veux que deux applications sur le PC exploitent le même port COM pour communiquer avec un microcontrôleur de l’autre côté, c’est ça ?

Oui, vous avez bien compris Vous devez utiliser deux applications sur le même port com. Merci pour l’explication, je vais chercher quelque chose dans cette direction.

Si j’ai compris, tu as une appli qui communique en RS232 avec un truc à l’extérieur de ton PC, mais pour simuler tu veux remplacer le truc à l’extérieur par un logiciel sur le même PC !? Si c’est ça tu dois utiliser deux port com (c’est le plus simple), et tu met un simple lien entre les deux. Par exemple le COM0 avec ton logiciel à tester et sur le COM1 le logiciel de test, et entre les deux tu peux placer deux adaptateurs USB-RS232 :

  • COM0 GND -> COM1 GND
  • COM0 RX -> COM1 TX
  • COM0 TX -> COM1 RX

c’est le plus simple je pense.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte