Convertion d'un programme de gestion de port COM C# en C

Fermé
valentin7650 Messages postés 6 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 6 décembre 2013 - 29 oct. 2013 à 14:52
 valentin7650 - 4 nov. 2013 à 17:01
Bonjour, tout le monde voila j'aurais besoin d'aide pour mon stage ou je dois convertir un programme qui gère des port COM codé en C# le convertir en langage C.
Je connait bien le langage C un peu le C++ mais pas du tout le C# et ce programme gère des ports COM donc ( en gros c'est le codage de borne de recharge de véhicule électrique) donc j'ai commencé un peu à traduire mais déja je n'ai pas vraiment trouver d'aide pour transformer le C# en C .
Et aussi je n'ai jamais gérer des ports en langage c sauf avec arduino et ici je dois me servir d'une carte beagleboard ( donc avec linux) cette carte beagleboard sera relié a une carte électronique par des ports série qui sera elle-même relié a une ihm ( celle de la borne) donc j'ai regardé sur google et j'ai l'impression que pour beagleboard c'est similaire au code arduino mais je ne connait pas les fonctions pour beagleboard.....

Je me suis aidé d'ici:

https://codes-sources.commentcamarche.net/source/22441-base-communication-serie-rs232-win32
pour gérer les ports COM en C mais je sais pas si ça fonctionne

Donc pour résumé je dois traduire un programme de gestion de port COM fait en C# le traduire en C et ce même programme qui a été fait sous windows je dois le passer sous linux ( donc la carte beagleboard) et je n'ai pas trouvé énormément d'aide non plus pour trouver des équivalents des fonctions windows en fonction linux pour le C.

J'aurais vraiment besoin d'aide svp toute aide est la bienvenue.
A voir également:

4 réponses

valentin7650 Messages postés 6 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 6 décembre 2013
30 oct. 2013 à 08:53
personne n'a de réponse? s'il vous plait c'est très important.
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié par [Dal] le 30/10/2013 à 14:32
Salut valentin7650,

La question a été posée il y a quelques temps sur SO

https://stackoverflow.com/questions/8385606/are-there-any-c-sharp-to-c-converter-tools

Il n'y a pas de solution toute faite.

Je ne sais pas à quoi ressemble ton code, et au vu de ce que tu dis, on ne sais pas bien ce qu'il est sensé faire à part "gérer des ports COM". Alors ce que tu as vraiment besoin de savoir c'est comment lire et écrire sur port série en C avec Linux et remplacer cette partie, qui, forcément, n'aura rien à voir dans le code C#. Le code C dont tu donnes le lien est pour Windows.

Si ton matériel fait tourner Linux, tu utiliseras certainement les API C POSIX pour la communication série (vérifie tout même la doc de BeagleBoard, que je ne connais pas).

Vois : https://www.cmrr.umn.edu/~strupp/serial.html "Serial Programming Guide for POSIX Operating Systems"

Il y a aussi https://tldp.org/HOWTO/Serial-Programming-HOWTO/


Dal
0
valentin7650 Messages postés 6 Date d'inscription mardi 29 octobre 2013 Statut Membre Dernière intervention 6 décembre 2013
30 oct. 2013 à 17:10
Merci de ta réponse Dal mais je n'ai pas forcément besoin d'un convertisseur au moins avoir des exemples de changements pour les fonctions qui sont en C# qui gèrent les ports COM trouver leur équivalent en C.
En fait le code fait en C# sert à faire fonctionner une IHM de borne de recharge de véhicule électrique donc il gèrent des trames émise entre l'ihm et la carte dans la borne qui est actuellement sous windows mais qui va passer sous linux.

" Alors ce que tu as vraiment besoin de savoir c'est comment lire et écrire sur port série en C avec Linux et remplacer cette partie, qui, forcément, n'aura rien à voir dans le code C#. Le code C dont tu donnes le lien est pour Windows. "

oui voila c'est ça qu'il me faudrait , pour le lien que j'ai mis c'est tout ce que j'ai trouvé et c'est pour windows .....

Merci pour tes deux liens que tu a mis je vais regarder tout ça.
0
valentin7650
4 nov. 2013 à 17:01
Bon alors j'ai regardé le contenu des 2 liens et j'ai pas mal de difficultés à comprendre.
J'avais déja fait un programme qui utilisait un peu les ports COM avec une carte arduino et il parait que c'est similaire avec la carte beagleboard mais le problème vient des fonctions car chaque carte a des fonctions spécifiques ( l'arduino ne comprend pas les printf par exemple ) et donc j'ai un très gros programme a transformer sur la carte

mais j'aimerais débuter tout simple au début en allumant une led sur une ihm qui est relié à une carte port série elle même relié à la carte beagleboard black par le port usb , mais ce que je comprend pas c'est quelle sortit je dois gérer pour envoyer les donnés pour allumer/éteindre la led? le usb???

Et aussi au niveau des fonctions de beagleboard j'ai trouvé ceci : http://circuitco.com/support/index.php?title=C/C%2B%2B_Programming
qui m'a permis de comprendre comment gérer les 4 leds de la carte mais c'est a peu près tout ce que j'ai trouvé, il me faudrait un petit programme qui gère des leds externes pour que je m'en inspire. J'ai trouvé ça pour les leds externes: http://www.beagleboard.org/Support/BoneScript/demo_blinkled_external/ ?? je suis pas sur que ce soit le même principe pour ce dont j'ai besoin.

Merci d'avance
0