Bonjour j ai de nouveau un probleme avec leTComport...
En fait je relie le port COm a un telephone portable. Ce dernier m envoie une chaine de caractere . Si au bout d un certain temps je n ai pas repondu.. il me renvoit une autre ....
J ai essayé de faire une boucle du genre:
static boolean aquisition_com2_en_cours=false;
if (aquisition_com2_en_cours==false)
{
aquisition_com2_en_cours=true;
temps_com2_deb=toto.CurrentDateTime();
temps_com2_fin= toto.CurrentDateTime();
ReceptionCOM2_en_cours="";
while ((temps_com2_fin-temps_com2_deb)*24*60*60*1000<300.0)
{
if (ComPort2->InputCount()>0)
{
ComPort2->ReadStr(temp,ComPort2->InputCount() );
ReceptionCOM2_en_cours=ReceptionCOM2_en_cours+temp;
temps_com2_deb=toto.CurrentDateTime();
}
temps_com2_fin= toto.CurrentDateTime();
ou 300 correpondait je pensais au temps en ms sec .Cela marchotte.. mais je n ai pas a 100 % une trame complete sans coupure...
En fait pour shematiser
je penser que c etait un truc du genre:
AA BB CC EE
GG UU DD ZZ
Entre AA et BB je partais de l hypothese que le temps etait tres petit et qu entre EE et GG plus long (300 ms)
En fait je recois la trame sous la forme:
AA BB CC EE GG
UU DD ZZ
En resumé je n arrive pas a detecer la fin dereception pour analuyser ma trame
Quelqu un a des idees??
J ai pensé a utilisé OnRxBuf... mais je ne sais pas comment faire il me dit property not compatible.....
merci
Partager