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
| if (!m_Com.PortOpen(COM,19200,'N',8,1)) { TRACE("Erreur à l'ouverture du port COM");
EndDialog(IDOK);
return FALSE;
} //if
m_Com.SetCommMask(EV_RXCHAR);
m_Com.UseRtsCts(TRUE);
TRACE1("Ouverture du port COM%d",COM);
m_Com.PurgeTx();
m_Com.PurgeRx();
if (!m_Com.WriteBuffer("GO")) TRACE("Erreur dans la transmission de l'ordre");
// Attente des données
TRACE("Attente des données");
while (m_Com.IsRXEmpty());
TRACE("Réception des données");
nombreCaractere=0;
do {
nb=m_Com.SizeUsedInRXBuf();
((CGavrocheApp*)AfxGetApp())->PumpMessages(); // pour éviter de bloquer Windows
if (nb) {
m_Com.ReadBuffer((char *)buffer,nb);
index=0;
while(index < nb) { donneesUSB += buffer[index++];
} //while
nombreCaractere+=nb;
} //if
} while (nombreCaractere<6462);
m_Com.PortClose();
EndDialog(IDOK);
return TRUE; |
Partager