-
échec event timeSetEvent
Bonjour,
Mon appli est développée sous VC++ 6.0 et tourne sous XP.
Elle dialogue via bus de terrain avec une carte electronique.
Certaines données sont des impulsions. Pour les effectuer, je passe la donnée à 1, sur l'acquittement de l'émission vers le bus, je positionne la donnée à 0, et je temporise l'émission du 0 grace à
Code:
timeSetEvent(120, 5, MyPlasmaTimerPdo, (long)(pThis), TIME_ONESHOT|TIME_CALLBACK_FUNCTION);
l'émission étant générée par la fonction callback.
Pour une même donnée, selon l'instant de l'exécution, j'ai soit un résultat positif, soit un échec de timeSetEvent. Si j'émet l'impulsion quand l'appli ne fait quasiment rien, c'est OK, si j'émet la même impulsion alors que l'appli est plus occupée, ça échoue (retour timeSetEvent = NULL)
Modifier la durée (jusqu'à 3000) et la résolution (jusqu'à 100) ne change rien.
Qu'est ce qui peut provoquer l'échec de timeSetEvent ?
-
J'ai placé le timeSetEvent dans une boucle while qui sort en cas de réussite. Selon les cas, la réussite arrive au bout de plusieurs tentatives (parfois une dizaine, parfois une trentaine). J'ai du mal à comprendre pourquoi.
Je pensais que l('événement était placé dans une pile et qu'il claquait dès que possible...
-
En remplaçant les timeSetEvent par des SetTimer, j'obtiens ce que je veux...