Hello,
dans le cadre d'un projet il me faut communiquer avec une machine qui m'envoi des données via une liaison RS232 et récupéré sur un PC standard...
Je me suis lancer dans une programmation C++ (devC++) et l'OS se trouve être malheureusement WINDOWS ! (pas le choix).
Bref, aujourd'hui je rencontre des problemes de synchronisation dans la lecture de mon port COM.
J'arrive à récupérer mes données à l'aide de flux de donnée type FILE *, et à l'aide de la fonction "fgets()".
A noter que pour des raisons de commoditées, je simule la machine en utilisant un autre PC standard. En effet, je créais une session hyperterminal avec les configs de com qui vont bien et je relis les deux PC ensembles (lisaison RS232).
Ainsi, je lance mon appli C++(sur PC recepteur), et j'écris un mot de donnée dans la fenêtre hyperterm du PC emetteur (simul de la machine).
Mon problème est qu'à lecture du port par fgets, les données ne sont pas lues instantannement. Il y a un latence d'une minute environ avant que les données ne me soient remontées. Je pense que le fonction fgets attend que le flag liée au registre du port change, pour lancer la lecture...
Si quelqu'un pourrait donc m'aider à comprendre se phénomène et par la même occasion me donnée une piste pour y pallier. Je ne suis pas contre de nouvelle idée, je ne suis pas figer au fonction standard (fgets...).
Merci à vous
Partager