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++/CLI Discussion :

Ouvrir le port COM sur Windows CE


Sujet :

C++/CLI

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre exp�riment�
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par d�faut Ouvrir le port COM sur Windows CE
    Bonjour j'essaye d'ouvrir le port COM5 en C++ sur mon Device Windows CE

    Je suis certain qu'il existe et est op�rationnel parce que en cSharp cela fonctionne

    Le code ci apres me rends toujours une erreur 2
    Est ce que je fais une erreur ?

    Merci de votre aide

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    hComm = CreateFile( TEXT("COM5"),  
    		GENERIC_READ | GENERIC_WRITE, 
    		0, 
    		0, 
    		OPEN_EXISTING,
    		NULL,
    		NULL);
    	if (hComm == INVALID_HANDLE_VALUE)
    	{
        dw=GetLastError();
        int uu=5;
    	}

  2. #2
    Membre chevronn�
    Inscrit en
    D�cembre 2010
    Messages
    290
    D�tails du profil
    Informations forums :
    Inscription : D�cembre 2010
    Messages : 290
    Par d�faut
    J'ai trouv� �a ici :
    http://msdn.microsoft.com/en-us/library/aa517318.aspx

    "When lpFileName points to a COM port to open, you must include a colon after the name. For example, specify COM1: to open that port."

    Ce qu'on pourrait traduire par : "Lorsque lpFileName pointe sur un port COM � ouvrir, vous devez inclure les deux points apr�s le nom. Par exemple, specifiez COM1: pour ouvrir ce port.

  3. #3
    Membre exp�riment�
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par d�faut
    Merci pour ton aide

    Mais ca n'aide helas pas

    J'ai d�ja essay� plein de truc mais sans succes
    Le premier probl�me a contourner est que la fonction CreateFile demande un LPCWSTR
    Et comme ca fais lontemps que je n'ai plus fais de C en Windows il a fallu trouver comment d�clarer ca

    Voici donc ma tentative
    Mais ca me rends une erreur 2

    NB : j'ai aussi essay� sans succes les assignations suivantes


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     wchar_t tt[]=L"COM5";
    wchar_t tt[]=L"COM5\0";
    wchar_t tt[]=L"COM5:";
    wchar_t tt[]=L"COM5:\0";}
    Mais toutes produisent l'erreur 2
    Or je peux ouvrir ce COM5 sur le meme terminal avec cSharp

    Je ne peux pas croire que ce ne soit pas possible en C++
    Merci de ton aide




    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
     wchar_t tt[]=L"COM5";
      int len=0;
      int result=0;
      char *buffer;
      DWORD dw;
     
      hComm = CreateFile( tt,  
    		GENERIC_READ | GENERIC_WRITE, 
    		0, 
    		0, 
    		OPEN_EXISTING,
    		NULL,
    		NULL);
    	if (hComm == INVALID_HANDLE_VALUE)
    	{
                      dw=GetLastError();
                       int uu=5;
    	}

  4. #4
    Expert confirm�
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    F�vrier 2005
    Messages
    5 504
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 53
    Localisation : France, Val de Marne (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : F�vrier 2005
    Messages : 5 504
    Par d�faut
    La Macro W2CT
    http://msdn.microsoft.com/fr-fr/library/87zae4a3.aspx

    C'est juste un const_cast avec quelque bricoles, donc facilement r�cup�rable dans le .h m�me si c'est pas sous WinCE.

  5. #5
    Membre exp�riment�
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activit� : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Par d�faut
    Merci

    J'ai fini par trouver : c'est un LPCTSTR

    Et il FAUT les deux points

    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
      LPCTSTR portname = L"COM5:";
     
      int len=0;
      int result=0;
      char *buffer;
      DWORD dw;
     
      hComm = CreateFile( portname,  
    		GENERIC_READ | GENERIC_WRITE, 
    		0, 
    		NULL, 
    		OPEN_EXISTING,
    		NULL,
    		NULL);
    	if (hComm == INVALID_HANDLE_VALUE)
    	{
        dw=GetLastError();
     }

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Si tu utilises des TCHAR, utilise-les jusqu'au bout: remplace LPCTSTR portname = L"COM5:"; par LPCTSTR portname = TEXT("COM5:");
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. R�ponses: 1
    Dernier message: 12/04/2010, 16h59
  2. ouvrir le port com ?
    Par Sayler dans le forum D�buter
    R�ponses: 4
    Dernier message: 18/03/2010, 10h11
  3. Port COM sur poste client
    Par crazyday dans le forum D�buter
    R�ponses: 1
    Dernier message: 20/04/2009, 16h55
  4. [TSE] Ouvrir le port LPT1 sur un Wyse
    Par Luffy Duck dans le forum Windows
    R�ponses: 7
    Dernier message: 20/10/2005, 09h55
  5. ouvrir un port COM > � 9
    Par lamalice dans le forum Windows
    R�ponses: 2
    Dernier message: 04/01/2005, 16h10

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