Bonjour.
Le but de l'opération est en fait de générer une impulsion sur une broche d'un IOWarrior convertisseur USB-> parallèle (non, je ne développe pas un programmateur de composants).
Jusqu'à présent j'utilisais la méthode suivante : un timer à 20 ms (en théorie), désactivé, une variable décompteur mise à "n", ma sortie à 1, le timer activé et dans la routine du timer la décrémentation du décompteur, quand il devient <=0 la broche est mise à 0 et le timer désactivé dans la routine.
J'ai utilisé cette méthode car je ne savais pas si le timer démarrait avec un cycle plein, l'incertitude sur l'impulsion ne serait alors que de 20ms.
Eh, bien, les intervalles générés sont trop longs d'environ 35 à 40 % sur 4s (pour essayer, voir plus loin), idem si je partais d'un cycle de 50ms.
Sans commentaire...
Heureusement que mon impulsion a de la marge, entre 800ms et 1,5s ! J'espérais secrètement que Sleep serait plus précis, d'autant que le programme doit être portable au niveau de l'ordinateur et que je comptais utiliser d'autres fonctions plus précises. Raté !
A moins d'utiliser une méthode hyper-lourde qui traîne dans certains bouquins d'électronique.
Merci quand même pour les tuyaux, je ne ferai plus confiance à Sleep !
Partager