IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

intégrer du code C dans mon projet C#


Sujet :

C#

  1. #1
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut intégrer du code C dans mon projet C#
    Bonjour

    Je développe des routines sur microcontroleur en C pour de la communication RS232.

    En même temps que je débugge sur microcontroleur je souhaite faire tourner mon code en face sur le pc dans mon projet C#.

    Sous resserve que je me fasse les bonnes méthodes de bas niveau pour gérer le port série, puis je intégrer mon code C dans mon projet C# ?
    Comment ?

    Merci par avance

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Dans une solution Visual Studio, on peut avoir tous types de projets :

    - projets C#
    - projets C++ managé
    - projets C++ natifs
    - etc ....

    Donc, tu peux très bien créer un projet C++ (pas "C") dans ta solution.

    En revanche, il sera compilé par défaut par le compilateur Microsoft, ce qui n'est peut être pas ce que tu souhaites.

    Bref, ta demande est peu explicite; en effet, on ne sait pas trop ce que tu entends par "intégrer mon code C dans un projet C#".

    Bien évidemment un "projet" C# (au sens de Visual Studio!) ne contient que du C#, donc dans ce sens ,la question n'en a pas trop (de sens ).

    En revanche, si tu entends "projet" au sens de ton travail, il y a surement une solution.

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    Il existe déja une classe SerialPort en C# (dans le framework .Net) qui permet
    de gérer la communication en RS232...

    Donc, faut voir ton réel besoin...

    De plus, du code C ne peut être appelé depuis du code C#..

    Il faut soit (j'ai l'impression de me répéter tous les 15 jours tant la question est souvent posée) :

    • Faire de l'interop
      Faire un wrapper C++/CLI


    Et après, une recherche "poussée" dans ce forum te permettra surement d'y voir amplement et largement plus clair

  4. #4
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    bonjour

    je développe du code en C qui va gérer un protocole bien connu (modbus) entre deux cartes électroniques munies de µC.

    Pour développer mon code j'ai besoin de le déployer sur 2 cibles capables de communiquer entre elles par RS232.
    Une des cibles est une carte électronique que je programme et débugge à l'aide d'un arsenal programmateur + un pc avec son compilateur C.
    La seconde cible pourrait être une autre carte électronique mais pour des raison pratiques, de facilité de mise en oeuvre et débuggage, je me demandais si le pc ne pouvait pas être la cible.
    Visual studio C# étant ma plateforme de développement préférée depuis peu, je m'interrogeait sur comment introduire mon code en C dans un projet c#.

    a ce que je comprends je m'expose à des complications importantes.
    Peut être aurait on pu faire des choses comme

    code c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void ma fonction (int toto) {
    ...
    code C
    ...
    }
    Merci pour vos réponses

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Si tu veux tester al carte pour une communication modbus, le plus simple à mon sens est de prendre la librairie NModbus, de faire sur ton pc une application maitre ou esclave (si tu mets tes adresses mémoires en dur tu fais un programme maitre en 5mn par exemple), et te servir de ce programme pour tester ta com ?

    NMobus est une librairie très bien faite et efficace. De plus à utiliser une autre librairie, tu vas pouvoir mieux valider la tienne.

    As-tu un équivalent d'un programme automate d'implémenté sur ton µC qui t'inciterait un garder le code C ?

  6. #6
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Bonsoir

    Je n'avais pas pensé à cette solution
    Elle est effectivement un excellent moyen de tester ma solution embarquée, j vais l'utiliser !

    Il reste malgré tout un soucis pour le debug, ou je dois utiliser des "morceaux de Modbus", afin de tester étape par étape mon code embarqué.
    Si je code tout le modbus et que je teste qu'une fois fini j'aurai bien du mal à trouver les bugs monstrueux que j'aurais...

    Merci pour le NModbus

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Morceaux de modbus ? Tu utilises les 15 fonctions ? Ou seulement les 4 en entrée/sortie ? Après oui tester pas par pas est une règle d'or que ce soit de l'embarqué ou du bureautique.

  8. #8
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    Je parle du probleme de debugger toutes les couches de la com
    Le Modbus d'un coté
    le CRC de l'autre
    la gestion d'un buffer de reception et emission etc etc

  9. #9
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    En effet, yen a qui vont s'amuser, mais avec un peu de rigueur ça devrait le faire

    par curiosité, tu lui fais faire quoi à ton µC en modbus ? Je parie pour un contrôle d'accès :p

  10. #10
    Membre extrêmement actif Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    2 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 2 037
    Par défaut
    du tout

    c'est pour faire communiquer des cartes de régulation (de pompe à chaleur) avec des capteurs et un IHM

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2006
    Messages
    1 627
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 627
    Par défaut
    Ok je vois le boui-boui. Bonne chance avec ton Modbus

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/01/2015, 13h28
  2. Comment intégrer le ProgressBar dans mon projet
    Par maserati dans le forum JSF
    Réponses: 15
    Dernier message: 27/01/2012, 09h53
  3. Réponses: 3
    Dernier message: 26/01/2006, 13h11
  4. Réponses: 4
    Dernier message: 24/05/2005, 11h34
  5. [FLASH MX] Incorporer un swf dans mon projet
    Par Toutouffe dans le forum Flash
    Réponses: 2
    Dernier message: 19/01/2005, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo