comm serie avec win32 - pb de time out

comm serie avec win32 - pb de time out - C - Programmation

Marsh Posté le 14-03-2005 à 17:29:33    

Bonjour !  
 
c'est au sujet de la comm serie avec win32  
 
En fait, je dois faire un programme qui lit un fichier ligne par ligne et envoie chaque ligne par lien serie a un microcontrolleur.  
 
je fais de la comm synchrone (pas overlap). J'ai ajoute des time out, pour pas rester infiniement en attente.  
Si la lecture de l'aquitement ne se fait pas (apres time out) je reecrit la ligne (jusqu'a 10 ecritures, apres, error, mais ca on s'en fout).  
 
Lorsque le time out est assez grand pour ne pas avoir a reecrire la ligne, mon prog marche.  
 
        tTimeout.ReadTotalTimeoutMultiplier = 5;  
        tTimeout.ReadTotalTimeoutConstant = 30;  
 
Par contre, pour des valeurs faibles, necessitant la reexpedition de la ligne, ca ne marche plus  
 
        tTimeout.ReadTotalTimeoutMultiplier = 1;  
        tTimeout.ReadTotalTimeoutConstant = 1;  
 
alors que le logiciel qui lit les communications sur le lien serie m'indique que c'est bien la meme ligne qui est transmise de nouveau  
 
IRP_MJ_WRITE S315FC1015C000000DC400000DC800000DCC00000DD0AD  
IRP_MJ_READ Serial0 TIMEOUT Length 0:    
IRP_MJ_WRITE S315FC1015C000000DC400000DC800000DCC00000DD0AD  
IRP_MJ_READ Serial0 SUCCESS Length 8: R10200FD  
 
   Si quelqu'un a des explication...  
   Peut etre que ces valeurs de time out sont trop faibles et que windows ne les prend pas en compte (pourtant le programme se comporte bien...).  
   Peut etre que je ne devrait pas renvoyer de nouveau la meme ligne, juste attendre, sinon, la nouvelle ligne s'ajoute a une ligne a moitie lue, cote microcontrolleur ???  
   Peut etre que ...  
 
Merci beaucoup !  
 
Olivier  

Reply

Marsh Posté le 14-03-2005 à 17:29:33   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed