Communication série rs232 et COM1

mafia34 Messages postés 2 Date d'inscription mardi 31 juillet 2007 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2009 à 10:54
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 27 janv. 2009 à 13:47
Bonjour,
Je souhaite faire un programme en console en utilisant MFC pour envoyer et recevoir des données par une liaison rs232.
Pour cela j'ai besoin d'une classe PortSerie et utiliser ses méthodes .
J'ai commencé la classe mais elle est imcomplète et j'aurait besoin d'aide pour la terminer  .

/*****************************************************************/
// Portserie.h: interface for the CPortserie class.
//
//////////////////////////////////////////////////////////////////////
//les codes d'erreurs sur la liaison série
typedef enum
            {
             RS_ERROR_NOERROR                        = 0,
             RS_ERROR_OPEN                            = -10,
             RS_ERROR_INIT                            = -11,
             RS_ERROR_TX                            = -20,
             RS_ERROR_RX                            = -30,
             RS_ERROR_RX_READ                        = -31,
             RS_ERROR_RX_READ_COMPLETE                = -32,
             RS_ERROR_NORESPONSE                    = -33,
             RS_ERROR_TIMEOUT                        = -34,
             RS_ERROR_PARITY                        = -35,
             RS_ERROR_FRAMING                        = -36,
             RS_ERROR_OVERRUN                        = -37,
             RS_ERROR_RXOVER                        = -38,
            }Erreur_T;

class CPortserie 
{
public:

    void OuvreToi(CString nom);
    void ConfigureToi(int vitesse, BYTE nbBits, BYTE parite, BYTE nbStopBits);
    void ReglerTimeout();

    bool Emet(char* MessageEnvoi,UINT TailleMessageEnvoi);
    bool Recoit(char* MessageReception,UINT TailleMessageReception);
    Erreur_T ConfigureToi(int vitesse, BYTE nbBits, BYTE parite, BYTE nbStopBits);

    CPortserie();
    virtual ~CPortserie();

private:
       
    HANDLE hcom;
    DCB dcb;
    COMMTIMEOUTS  timeout;
    bool fSuccess;
    Erreur_T Erreurs;

protected:
};

#endif // !defined(AFX_PORTSERIE_H__076AC32C_029F_4363_885B_FE72493456D3__INCLUDED_)

1 réponse

uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
27 janv. 2009 à 13:47
Salut,
mauvaise section : on est dans la rubrique C, ici
sinon, si t'es en C++, pourquoi ne pas remplacer les char* par des string ? (sauf si c'est réellement un pointeur sur UN char) et, personnellement je ne vois pas trop comment t'aider. Pour savoir ce qui manque, il faudrait déjà savoir ce qui ne manque pas. Or, on ne voit pas les définitions de tes méthodes.

Cordialement, uaip.
0