Bonjour,
Cherchant à récupérer les trames NMEA en sortie d'un GPS sur port COM, j'ai configuré sous Visual C++ mon port COM de manière à ce que le caractère "Retour Charriot" déclenche un événement sur le port COM.
Le bout de programme ci-dessous fonctionne très bien sur l'émulateur PPC 2003 SE. Mais rien ne se passe une fois sur mon Dell Axim x51v. En effet, aucun événement n'est déclenché. "EV_RXFLAG" n'est jamais reçu. Par contre, en remplaçant "EV_RXFLAG" par "EV_RXCHAR", je m'aperçois que des événements se produisent sur mon Axim.
J'aimerais cependant utiliser mon "EV_RXFLAG" car il simplifie mon traitement de données...
Quelqu'un aurait-il une idée ?
DCB sdcb ;
GetCommState(m_hComm, &sdcb) ; //m_hComm est mon HANDLE sur le port COM
sdcb.EvtChar = '\n' ;
SetCommState(m_hComm, &sdcb) ;
while(m_hComm != INVALID_HANDLE_VALUE)
{
dwEvtMask = 0 ;
// Attente d'événements
BOOL retWait = WaitCommEvent(m_hComm, &dwEvtMask, NULL) ;
// Test si le caractère '\n' a été reçu
if((dwEvtMask & EV_RXFLAG) == EV_RXFLAG)
{
// Traitement
}
}