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 :

Développement d'un soft windows/linux, avec IHM, et accès port COM


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Développement d'un soft windows/linux, avec IHM, et accès port COM
    Bonjour à tous,

    Je ne sais pas si j'écris dans la bonne section, à vrai dire je ne sais pas trop par ou commencer !

    Pour un projet perso (un oscilloscope numérique à mémoire) je souhaite développer une interface graphique sur PC.
    Je tourne sous Ubuntu, mais vu que l'IDE de Microchip (MPLAB) tourne sous Windows, je compte faire tout mon dev sous Windows XP, et une fois terminer, l'utiliser sous Linux.

    Donc, je veux :
    -coder en C (j'ai pas le temps ni l'envie d'apprendre autre chose)
    -un IDE simple, gratuit, et multi-plateforme
    -une portabilité facilitée au maximum (compiler sous windows et linux en changeant seulement un #define et éventuellement le compilateur)
    -une interface graphique 2D avec un affichage, des boutons...
    -une connexion au port série (rs-232)
    -pouvoir enregistrer des paramètres dans un fichier
    -surtout pas me lancer dans une usine à gaz

    A partir de là, j'ai déjà :
    -installé code::blocks comme IDE (simple, gratuit, multi-plateforme)
    -installé les bibliothèques gtk+ (pas facile l'install)
    -joué un peu avec gtk+ et affiché quelques fenêtres avec un menu, une zone de dessin qui m'affiche des courbes, quelques boutons..

    J'ai désormais besoin d'accéder au port COM (sous Windows pour commencer). A mon taff, on m'a dit d'installer le SDK Win32 (c'est fait).

    Question :
    Qu'est-ce que c'est quoi que je fais maintenant ?
    Comment je m'en sers sous code::blocks ? Comment j'ouvre un port com ? Quel compilateur utiliser ? Pour l'instant j'utilise minGW.
    Est-ce tout simplement possible ?

    Voilà, là, je suis un peu à l'ouest.
    Merci pour vos réponses !

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Salut,
    Citation Envoyé par Nolly Voir le message
    J'ai désormais besoin d'accéder au port COM (sous Windows pour commencer). A mon taff, on m'a dit d'installer le SDK Win32 (c'est fait).

    Comment j'ouvre un port com ? Quel compilateur utiliser ? Pour l'instant j'utilise minGW.
    Est-ce tout simplement possible ?
    oui c'est possible mais sous win32 il faut appeler l'API CreateFile chercher dans le MSDN.
    Si tu veux faire un programme avec une interface graphique cela me parait assez difficile de se passer de classes C++ genre Qt,MFC....
    ceci dit tu peux très bien créer des fenêtres sous Windows avec l'API win32 mais ça ne sera pas portable..

    Je ne comprends pas pourquoi on te demande d'installer le SDK de win32.
    Tu auras du code qui ne sera pas hétérogène si tu appelles des fonctions win32 d'un côté et du code UI spécifique à Gtk+
    Ou alors tu peux faire ton programme avec UI et Gtk+ et faire une dll purement win32.

    Mais je suis persuadé que si tu utilises par exemple Qt ,tu as toutes ces fonctionnalités dans des classes objets toutes faites ( UI , lecture de port COM ); c'est se casser la tête inutilement à programmer en C et prendre autre chose.
    Je pense que Qt va devenir un standard de classes C++ pour du code multiplateforme.

    Le langage C c'est bien pour programmer des microcontrôleurs.
    Pour faire un logiciel structuré appeler à évoluer cela risque de devenir ingérable...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Salut, merci pour la réponse.

    A la base je pensais faire toute l'interface graphique en gtk+ pour la portabilité windows/linux (après tout gimp est en gtk+) et selon le système d'exploitation, ne rien changer sauf la fonction lecture/écriture sur port COM (et éventuellement en fichier).

    A ce que je comprend, Qt est un peu comme du dotnet sauf qu'il tourne multi-plateforme, et est en C++ et non en C#. Ca veut dire que pour exécuter une appli Qt sur windows il me faut les dll qui vont bien, et sur linux, des librairies. Et qu'il me permettrait d'accéder à mon port COM tout ca, sans changer la moindre ligne de source entre windows et linux. C'est ca ?
    Je vais y réfléchir (si je n'arrive pas à faire en C).
    Gnome sur Ubuntu n'est-t-il pas codé en C ?

    Concernant l'utilisation de l'API windows dans un IDE, comment fait-on ?
    Je veux dire, OK pour configurer les chemins d'accès des include, librairies, et binaires, mais au moment du link, il faut choisir le compilateur windows pour utiliser les librairies du sdk win32 ?
    Il pourra compiler celles de gtk+ également ?

    Encore merci

  4. #4
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 361
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 361
    Points : 20 381
    Points
    20 381
    Par défaut
    Salut pour l'API Windows j'utilise VC++ il suffit de rajouter les fichiers .lib dans le projet.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    J'ai réussi à faire tourner un appli avec GTK+ ainsi que l'API Win32.
    Je compile avec le compilateur visual studio 10.0.
    Mon IDE est code::blocks.

    J'arrive à faire des fenêtres avec GTK+ et à envoyer des caractères sur le port COM

    Je crois que j'ai finalement réussi à faire ce que je voulais faire !

    Il suffit de choisir le compilateur adapté dans code::blocks, de configurer les chemins d'accès aux librairies et aux includes, et ca tourne..
    Par contre GCC refuse de compiler l'API Win32 (bizarre ! )

Discussions similaires

  1. Communication avec modem GSM sur port COM
    Par cheasy dans le forum Langage
    Réponses: 16
    Dernier message: 05/06/2013, 10h32
  2. driver mysql Windows/Linux + config url d'accès
    Par Etamyste dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 20/07/2009, 11h37
  3. Développement d'une appli c++ windows/linux avec gcc
    Par ZeLL dans le forum Eclipse C & C++
    Réponses: 4
    Dernier message: 04/02/2008, 03h57
  4. [Déploiement] Déploiement de softs Windows & Linux
    Par madfu dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 30/03/2007, 13h05
  5. Serveur Linux avec clients Windows
    Par ostaquet dans le forum Installation
    Réponses: 2
    Dernier message: 01/08/2002, 15h40

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