2017-07-26 7 views
1

Je travaille sur un protocole de système embarqué pour communiquer d'un micro-contrôleur vers un ordinateur. Le code du micro-contrôleur est en C et l'application informatique est en C#. Pour le débogage, j'ai la partie micro-contrôleur actuellement dans un projet de studio visuel car il est plus rapide à compiler et à parcourir que sur le micro-contrôleur directement. Je voudrais être en mesure de transmettre des données entre mon application C# et l'application console C et avoir les deux fonctionnant dans leurs propres débogueurs afin que je puisse parcourir toutes les étapes de la boucle de communication.Passage de données entre une application C# et une application de console C dans Visual Studio pendant le débogage

J'ai vu des références qui ressemblent à ceci devraient être possibles en redirigeant stdin et stdout depuis l'application console C, mais tous les exemples sont quand le processus est lancé à partir de l'application C#. Étant donné que les deux applications doivent être lancées à partir de leurs sessions de débogage VS, je ne suis pas sûr de savoir comment faire fonctionner cette connexion. Je n'ai besoin que d'un moyen d'envoyer un tableau d'octets dans chaque direction et de le recevoir dans l'autre application.

Toute aide serait appréciée!

Merci, John Vickers

+0

Il y a plusieurs façons de faire la communication inter-processus dans les fenêtres. Sockets est ma façon préférée, d'autres méthodes sont des tuyaux et de la mémoire partagée. Voici l'article Windows sur IPC: https://msdn.microsoft.com/en-us/library/windows/desktop/aa365574(v=vs.85).aspx –

+0

comment communiquent-ils normalement entre eux? –

+0

S'il s'agit d'un port série, utilisez simplement un port série, écrivez une couche d'adaptation pour que votre code de microréglage envoie la série. Vous pouvez ensuite utiliser des ports série virtuels pour les connecter. –

Répondre

0

Cairn O.,

Merci de me pointant sur ICP, je n'avais pas vraiment pensé à faire des prises parce que je pensais que ce serait complexe à faire un serveur en C sous Windows. Après avoir fait un peu de lecture sur les différents types de PIC, je suis tombé sur cet article:

http://www.binarytides.com/winsock-socket-programming-tutorial/

Il a des exemples très simples qui travaillent pour la création d'un client et un serveur en C. Cette méthode devrait fonctionner très bien pour moi car c'est une émulation directe de l'une des méthodes de connexion que j'aurai dans le micro (USB et RS232 étant les autres types de connexions).

De cette façon, je peux également tester mon code de connexion socket Ethernet dans mon application C# en même temps, et je n'ai pas besoin de truquer comme je le pensais avec d'autres méthodes!

Espérons que cela aide quelqu'un d'autre aussi!

Merci encore, John Vickers