Désolé,
J'ai réinitialisé la cible et maintenant cela fonctionne :
22:53:36.248 -> B
22:53:39.601 -> A
22:53:40.078 -> B
22:53:43.453 -> A
22:53:43.928 -> B
22:53:47.265 -> A
22:53:47.777 -> B
22:53:51.108 -> A
22:53:51.614 -> B
22:53:54.963 -> A
22:53:55.439 -> B
22:53:58.806 -> A
22:53:59.281 -> B
22:54:02.643 -> A
22:54:03.122 -> B
Par contre il me semble que la période de A est de 4s et B est de 0.5s et apparemment ce n'est pas le cas.
Bonjour,
Effectivement je n'avais pas pris le bon code
Dans ce cas de figure A s'incrémente toute les 1s et B toute les 2s. Parce qu'on fait un modulo de 2 quand on affiche B ? Du coup je me demande comment fait-on pour s’incrémenter B avec un autre Timer autre que le Timer1 pour que je puisse voir comment peut-on gérer des interruptions avec 2 Timers distingues ? Merci d'avance
le prob est comment faire pour que deux timers soient synchrones
Edit:
après reflexion, tu as un leonardo avec 32U4
je viens de regarder la datasheet
il y a deux timers en 16 bits, donc en les initialisant en meme temps, ils devraient etre synchronisés à peu de chose près.
Bonjour dfgh,
Dans le passé (très longtemps) j'avais programmé avec un HC12 + un outil IAR Workbench (on pouvait visualiser # registres) et j'arrivais à faire la synchronisation des 2 Timers alors je me suis dit pourquoi pas avec un Arduino ?
Pour quelle raison c'est difficile de faire 2 Timers synchrones ? Ils ont la même horloge je ne vois pas (ou que je suis trop bête) où est la difficulté ?
l'un doit compter 1 seconde et l'autre 2,
s'ils ne sont pas initialisés en meme temps......
suppose que le 2eme soit lancé lorsque le 1er a déjà compté 0.5 S, tu auras un résultat comme celui que tu signalais lorsque tu n'avais pas pris le bon code
Ok j'ai compris c'est le départ simultané des 2 Timers. Je ne connais pas en détail les registres internes de l'Arduino mais d'une manière globale : On configure les Timers/ On configure les interruptions avec les fonctions qui vont bien/On autorise toutes les interruptions (dont au pire d'une instructions à l'autre on aura un cycle machine de retard (soit des nano secondes de retard entre les 2 Timers dont négligeable). En revanche il faut que la période de chaque Timers entre eux soit identique et stable dans le temps, même s'il y a un delta t de retard au départ entre eux. C'est faisable ?
Je ne vois pas du tout pourquoi il faudrait synchroniser les deux timers. Rien ce dit que les deux fréquences sont multiples l'une de l'autre. D'ailleurs si c'était le cas il suffirait d'un seul timer.
kamill:
Je ne vois pas du tout pourquoi il faudrait synchroniser les deux timers.
*Oui après tout ce n'est pas très important si on connait le retard entre eux au début on peut resynchroniser ce retard de façon post traitement, l'important c'est entre eux ils ont une période constante défini par l'utilisateur. *
Rien ce dit que les deux fréquences sont multiples l'une de l'autre. C'est tout à fait vrai mais ici il fallait prendre un exemple
D'ailleurs si c'était le cas il suffirait d'un seul timer.
Bonjour,
Je souhaiterai faire un deuxième interruption par Timer avec un ARDUINO UNO. Par exemple le premier Timer me permet d'acquérir les mesures toutes les secondes (1s) et par exemple toutes les 2 secondes j'enregistre ces valeurs d'acquisition (après conversion et éventuellement des calculs de spectres) dans une carte mémoire par exemple.
Oui c'est toujours valable car je dois commencer un nouveau projet avec l'acquisition des valeurs acoustiques en milieu marin et d'enregistrer sur une carte mémoire avec une autonomie de fonctionnement d'environ >6 mois, je ne connais pas pour l'instant la fréquence d'acquisition et combien de capteurs que je possède (disons une dizaine de capteurs), mais c'est un système embarqué qu'on plonge au fond de la mer '500 m de profondeur' dont il faut aussi prévoir l'autonomie du système (mais c'est un autre sujet quoique on peut mettre en veille lorsqu'il ne travaille pas pour augmenter l'autonomie). Dont je voulais faire la main sur un µP Arduino Leonardo mais plus tard probablement pas.