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

Choisir un environnement de développement Discussion :

développement d'une application embarqué en C++


Sujet :

Choisir un environnement de développement

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut développement d'une application embarqué en C++
    Bonjour, Dans le cadre d'un projet en VS C++ ,j'ai besoin en premier lieu de développer un petit programme permettant la lecture d'une donnée analogique capté par un détecteur. on utilise comme carte d'aquisition de donnée la carte PCI ADVANTECH 1730U Pouvez vous m'aider à ce propos? Merci d'avance.

  2. #2
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 584
    Points : 1 615
    Points
    1 615
    Par défaut
    Bonjour, tu dois commencer par trouver un sdk c++ pour cette carte. A priori, seul le VB est supporté sur leur site...
    Mais si tu trouve l'équivalent c++, tu devrais avoir des exemples d'utilisation pour commencer.

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'ai essayé d'exécuter un exemple déjà existant en VC permettant de lire des données captées mais je reçois toujours une erreur qui affiche impossible de surcharger la fonction winMain() ,j'ai essayé pas mal de solutions mais en vain !!

  4. #4
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 584
    Points : 1 615
    Points
    1 615
    Par défaut
    Montre le code et les erreurs du compilateur
    Note que tu ne peux pas déclarer 2 winmain() car il s'agit du point d'entrée du programme. Il ne peut y'en avoir plus d'un.

  5. #5
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    l'erreur de la surcharge de la fonction winMain() s'est résolué ,reste les erreurs suivantes :

    error LNK2019: symbole externe non résolu "int __cdecl InitInstance(void *,int)" 
     error LNK2019: symbole externe non résolu "int __cdecl InitApplication(void *)" 
     error LNK2019: symbole externe non résolu "long __stdcall MainWndProc(struct HWND__ *,unsigned int,unsigned int,long)
     fatal error LNK1120: 3 externes non résolus 
    et voila le code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    #include <windows.h>
    #include <stdlib.h>
    #include <dos.h>
    #include <math.h>
    #include <stdio.h>
    #include <string.h>
    #include <tchar.h>
    HANDLE hInst;                      // current instance
    HWND hMainWnd;                   // main window handle
    char        szErrMsg[80];               // Use for MESSAGEBOX function
    LRESULT     ErrCde;                     // Return error code
    LONG        DriverHandle = (LONG)NULL;          // driver handle
    BOOL        bRun = FALSE;                       // flag for running
    USHORT      gwDevice = 0, gwSubDevice = 0;      // device index
    USHORT      gwChannel = 0;                      // input channel
    USHORT      gwValue;                            // input value
    SHORT       gnNumOfDevices, gnNumOfSubdevices;  // number of installed devices
    USHORT      gwScanTime = 1000;                  // scan time
    DWORD       gdwStartTime;                       // start time
    DWORD       gdwElapseTime = 0;                  // elapse time
    USHORT      gwOverrunCount = 0;                 // overrun count
    FARPROC     lpfnConfigDlgProc;                  // config. dialog procedure
    FARPROC     lpfnScanDlgProc;             
     // FUNCTION DECLARATION
    // ------------------------------------------------------------------------
    BOOL InitApplication(HANDLE);
    BOOL InitInstance(HANDLE, int);
    long _stdcall MainWndProc(HWND, UINT, WPARAM, LPARAM);
    int  _stdcall WinMain(HINSTANCE , HINSTANCE , LPSTR , int );
    int  _stdcall WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
    //HANDLE hInstance;                          // current instance             
    //HANDLE hPrevInstance;                      // previous instance            
    //LPSTR lpCmdLine;                           // command line                 
    //int nCmdShow;                              // show-window type (open/icon) 
    {
        MSG msg;                               // message                      
     
        if (!hPrevInstance)                // Other instances of app running?  
          if (!InitApplication(hInstance)) // Initialize shared things         
              return (FALSE);              // Exits if unable to initialize    
     
        // Perform initializations that apply to a specific instance
        if (!InitInstance(hInstance, nCmdShow))
            return (FALSE);
     
        // Acquire and dispatch messages until a WM_QUIT message is received.
        while (GetMessage(&msg,      // message structure                      
            (HWND)NULL,              // handle of window receiving the message 
            (UINT)NULL,              // lowest message to examine              
            (UINT)NULL))             // highest message to examine             
        {
            TranslateMessage(&msg);  // Translates virtual key codes           
            DispatchMessage(&msg);   // Dispatches message to window           
        }
        return (msg.wParam);         // Returns the value from PostQuitMessage 
    }
     
    /****************************************************************************
        FUNCTION: InitApplication(HANDLE)
     
        PURPOSE: Initializes window data and registers window class
    ****************************************************************************/
     
    BOOL InitApplication(HINSTANCE hInstance)                        // current instance           */
    {   
    //    HINSTANCE hInstance;
        WNDCLASS  wc;
     
        // Fill in window class structure with parameters that describe the
        // main window.
        wc.style = CS_HREDRAW | CS_VREDRAW;      // Class style(s).                 
        wc.lpfnWndProc = (WNDPROC)MainWndProc;   // window process procedure   
        wc.cbClsExtra = 0;                  // No per-class extra data.        
        wc.cbWndExtra = 0;                  // No per-window extra data.       
        wc.hInstance = hInstance;           // Application that owns the class.
        wc.hIcon = LoadIcon(hInstance, (LPCWSTR)"IDI_ICON1");
        wc.hCursor = LoadCursor(NULL, IDC_ARROW);
        wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
        wc.lpszMenuName =  (LPCWSTR)"MyMenu";   // Name of menu resource in .RC file.  
        wc.lpszClassName = (LPCWSTR)"MyClass";  // Name used in call to CreateWindow. 
     
        // Register the window class and return success/failure code.
        return (RegisterClass(&wc));
     
    }
     
    /***************************************************************************
        FUNCTION:  InitInstance(HANDLE, int)
     
        PURPOSE:  Saves instance handle and creates main window
    ****************************************************************************/
     
    BOOL InitInstance
    (
        HINSTANCE          hInstance,          // Current instance identifier.
        int             nCmdShow            // Param for first ShowWindow() call.
    )
    {
        // Save the instance handle in static variable, which will be used in
        // many subsequence calls from this application to Windows.
        hInst = hInstance;
     
        // Create a main window for this application instance.
        hMainWnd = CreateWindow(
            (LPCWSTR)"MyClass",                 /* See RegisterClass() call.          
           (LPCWSTR)"Advantech Driver Demo : Digital Input" , /* Window title bar  */
            WS_OVERLAPPEDWINDOW,        /* Window style.                       */
            CW_USEDEFAULT,              /* Default horizontal position.        */
            CW_USEDEFAULT,              /* Default vertical position.          */
            CW_USEDEFAULT,              /* Default width.                      */
            CW_USEDEFAULT,              /* Default height.                     */
            NULL,                       /* Overlapped windows have no parent.  */
            NULL,                       /* Use the window class menu.          */
            hInstance,                  /* This instance owns this window.     */
            NULL                        /* Pointer not needed.                 */
            );
     
        // If window could not be created, return "failure"
        if (!hMainWnd)
            return (FALSE);
     
        // Make the window visible; update its client area; and return "success"
     
        ShowWindow(hMainWnd, nCmdShow);   // Show the window
        UpdateWindow(hMainWnd);           // Sends WM_PAINT message
        return (TRUE);                // Returns the value from PostQuitMessage
    }

    Merci

  6. #6
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 584
    Points : 1 615
    Points
    1 615
    Par défaut
    Les appels de ces 3 "callbacks" semblent être différents de ce qu'attend la winapi...
    Je suis loin d'être un spécialiste mais ça ressemble à un souci de version de la winapi.
    Il va falloir re-travailler le code pour qu'il soit compatible.
    Si quelqu'un de plus compétent que moi (pas dur) vient à voir ce thread il nous faut tes lumières frangin

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui
    Merci SkyZoThreaD

  8. #8
    Membre expérimenté Avatar de SkyZoThreaD
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juillet 2013
    Messages
    584
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2013
    Messages : 584
    Points : 1 615
    Points
    1 615
    Par défaut
    Euh... j'ai du mal regarder mais la fonction MainWndProc n'est pas définie...
    c'est le callback de la fenêtre qui dispatche les messages. Il la faut impérativement !
    Concernant InitInstance et InitApplication, la déclaration est différente de la définition...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // déclaration
    BOOL InitApplication(HANDLE);
    BOOL InitInstance(HANDLE, int);
     
    // définition
    BOOL InitApplication(HINSTANCE hInstance){}
    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow){}
    Change ou supprime la déclaration

  9. #9
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2015
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Oui j'ai pas fait attention à ça
    je vais essayer de le recompiler merci

Discussions similaires

  1. Développement d'une application Windows (avec visual basic)
    Par visualbasic152 dans le forum VB.NET
    Réponses: 14
    Dernier message: 24/01/2007, 18h23
  2. Réponses: 3
    Dernier message: 07/12/2006, 12h16
  3. Développement d'une application, quelle DB?
    Par gheger dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 4
    Dernier message: 22/11/2006, 13h45
  4. Développement d'une application sous Access
    Par Marie-Thérèse dans le forum Access
    Réponses: 2
    Dernier message: 22/11/2005, 12h29
  5. Développement d'une application multi-sites ?
    Par ChrisPM dans le forum Architecture
    Réponses: 7
    Dernier message: 09/11/2005, 14h22

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