Go Down

Topic: [Lib] SoftTimer - Une lib pour faciliter les taches périodique ou liées au temps (Read 7 times) previous topic - next topic

Brisebee

Merci beaucoup pour cette librairie très intéressante.

Je vais regarder de plus près, pour m'en souvenir lorsque j'en aurai besoin, ce qui ne devrait pas tarder.

casper22

Salut

D'aaacord, c'est plus clair pour moi maintenant

Un grand merci

UniseV

Salut Barbudor,

Je cherche un moyen de déclencher un code d'interruption 5ms précisément après la surevenue d'une PINinterruption, tout ceci hors du main loop, lancé directement pas ma PINinterruption.

Voici le résultat souhaité en image, la précision devra être de 4µs :


Penses-tu que je puisse utiliser ta librairie ? as-tu une autre idée plus "légère" ?

Sev

EDIT : Plus de précision sur mon projet ici, mais en anglais :
http://www.rcgroups.com/forums/showthread.php?t=1648040&page=2
EN: Libraries are my Gurus, they make me believe anything they want !
FR: Les librairies sont mes gourous, elles me font croire ce qu'elles veulent !

barbudor

Bonjour

Ma lib est entièrement soft et repose sur la boucle loop() sans laquelle il faut appeller la fonction SoftTimer.manage();
Donc elle ne peut pas garantir une précision que si ton code lui garantie de s'exécuter suffisamment souvent.

La solution la plus fiable c'est d'utiliser un timer que tu armes depuis la routine d'interruption de l'entrée et qui déclenche un nouvelle interruption 5ms plus tard pour positionner ta sortie.
Si les 6 signaux d'entrée sont asynchrones, alors il te faut 6 entrées interruptions (ça c'est faisable) mais tu n'aura pas 6 timers.
Tu doit pouvoir t'en sortir avec un en faisant des calculs de dates pour régler le registre OC1

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

lcd1602

bonjour barbudor,
très bien la lib,
je suis débutant dans la prog de l'arduino.
et j'ai du mal à comprendre la mise en action d'un timer.
d'après ce que j'ai compris il faut faire une class de ce qu'on veut retarder ou faire clignoter ?
mais pour remplacer la fonction delay() on doit faire tout ce travail ou y a t il d'autre approche?
j'ai deux routines qui doivent arriver l'une après l'autre ( Routine 1 , Routine 2)seulement elles tournent en parallèle et bien sur ( Routine 2 va plus vite que Routine 1, j'ai bien tenté avec delay mais rien de bon.
Avec ta lib est ce possible de simuler une Fc° delay et que celle-ci ne paralyse pas le système?
merci de ta lecture.

Go Up