begin process at 2012 05 28 11:17:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Fichier & Disque

 > 

aide à la fonction OpenCom


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide à la fonction OpenCom

mercredi 11 juillet 2007 à 13:37:23 | aide à la fonction OpenCom

sondos01

Bonjour,

Je voulais comprendre quelque chose dans la fonction OpenCom (langage C) ci dessous. J'envoie des informations du Pc au microcontroleur par la liaison série RS232.


/******************************************************************************
  OpenCOM : ouverture et configuration du port COM.
  entrée : nId : Id du port COM à ouvrir. 
  retour : vrai si l'opération a réussi, faux sinon.
******************************************************************************/
BOOL OpenCOM(int nId)
{
    /* variables locales */
    char szCOM[16]; 

    /* construction du nom du port, tentative d'ouverture */
    sprintf(szCOM, "COM%d", nId);
    g_hCOM = CreateFile(szCOM, GENERIC_READ|GENERIC_WRITE, 0, NULL, 
                        OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM, NULL);

//Ici tu crée un fichier qui contient  uniquement "COM%d"??, 
    if(g_hCOM == INVALID_HANDLE_VALUE)
    {
        printf("Erreur lors de l'ouverture du port COM%d", nId); 
        return FALSE;
    }

    /* affectation taille des tampons d'émission et de réception */
    SetupComm(g_hCOM, RX_SIZE, TX_SIZE);

    /* configuration du port COM */
    if(!SetCommTimeouts(g_hCOM, &g_cto) || !SetCommState(g_hCOM, &g_dcb))
    { // à quoi sert cette fonction? 
        printf("Erreur lors de la configuration du port COM%d", nId);
        CloseHandle(g_hCOM);
        return FALSE;
    }

    /* on vide les tampons d'émission et de réception, mise à 1 DTR */
    PurgeComm(g_hCOM, PURGE_TXCLEAR|PURGE_RXCLEAR|PURGE_TXABORT|PURGE_RXABORT); 

     EscapeCommFunction(g_hCOM, SETDTR);
    return TRUE;
}



a Quoi set la fonction SetCommTimeouts(g_hCOM, &g_cto) || !SetCommState(g_hCOM, &g_dcb)) et pourquoi on fait PurgeComm a la fin .

Merci
mercredi 11 juillet 2007 à 21:57:23 | Re : aide à la fonction OpenCom

BruNews

Administrateur CodeS-SourceS
Regarde ici comment on ouvre et communique en port com sous win:
http://www.cppfrance.com/code.aspx?ID=22441
http://www.cppfrance.com/code.aspx?ID=18704

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : fonction, port, hcom, opencom, nid


Répondre à ce message

Sujets en rapport avec ce message

Port série [ par cheMoor ] Bonjour,Merci Ymca2003 de ton aide, ton programme semblé super, mais je n'arrive pas à le tester (car il est programmé en Visual C++ « les boutons, l fonction lire ds un port série [ par imanewin32 ] pour réaliser la lecture ds un prog qui gére la communication atravers un port série,j'ai réalisé le codeDWORD comserie::lectport(char* e,int t){ Set CreateFile et port COM supérieur à 9 [ par agremlins ] Bonjour,J'ai une dll qui s'occupe de la connexion avec des périphériques branchés sur le port série.J'utilise La fonction CreateFile pour ouvrir un po Prbl avec la fonction htons(port) [ par KissyFroth ] J'ai un probleme avec cette fonction mais je ne sais pas très bien quel est son role. Je ne sais pas non plus selon quels critères on choisit le "port Reception sur port COM1 sous Builder [ par Ardeje26 ] Bonjour,Je travail sous Borland Builder 5 et j'ai un problème pour récupérer les datas sur mon port COM1 avec le code suivant.Je peut simplement savoi Communication Port serie RS232 [ par freddy766 ] Bonjour, J'ai un petit probleme concernant la communication RS232 (port serie) en c++. Afin de tester mon programme sur des appareils et etablir des c ouverture d'un port serie [ par KryztL ] bonjour tout le monde,j aurai besoin d aide pour le projet que je suis entrain de programmer.je souhaite ouvrir un port serie sous visual studio C++, Communication RS232 : Pb de vitesse [ par arb ] Bonjour Je me suis insipiré du code de ymca2003 (Code source N°22441) pour faire un petit programme qui envoie le contenu d'un fichier via une liais Communication RS232 : Pb de vitesse [ par arb ] Bonjour Je me suis insipiré du code de ymca2003 (Code source N°22441) pour faire un petit programme qui envoie le contenu d'un fichier via une liais


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales