Go Down

Topic: Lancer une mesure à intervalle régulier ? (Read 2272 times) previous topic - next topic

kafifi

Bonsoir,

Je souhaite appeler ma routine de mesure de température toutes les minutes,
non pas à partir de mon programme principal, mais à partir d'une interruption
temps réel. Avec mon micro Motorola, l'appel se faisait comme ceci :
Code: [Select]
#pragma interrupt_handler realtime
void realtime()
{
...
...


Je ne trouve pas comment faire avec Arduino.
Pouvez-vous m'éclairer ?

Merci.

Gozaki

http://www.laboelectronique.be/ardtimer.html

toutes les milisecondes par timer...

Gozaki

Bernarduino

[size=12]Bonjour,

Il est possible d'utiliser MsTimer2 :[/size]
Code: [Select]
MsTimer2::set(ms, fonction);

[size=12]Comme dans cet exemple :[/size]

Code: [Select]
#include <MsTimer2.h>
// Switch on LED on pin 13 each second

void flash() {
 static boolean output = HIGH;  
 digitalWrite(13, output);
 output = !output;
}
void setup() {
   pinMode(13, OUTPUT);
 
 MsTimer2::set(250, flash); // ms periode
 MsTimer2::start();
}
void loop() {
 // fait autre chose en attendant
 }


En espérant que cela vous soit utile.

Salutations

kafifi

@Gozaki,
Sympa ta page, mais pas évidente ! Je vais prendre le temps
de lire et de comprendre.

@Bernarduino
Cette solution de MsTimer2 semble parfaite. Quelle est la limite
du nombre de ms ? Possible de lancer un process tous les 1, ou
10, ou 60 secondes par exemple ?

Merci pour les liens en tous les cas.

B@tto

Quote
It's called MsTimer2 because it "hardcodes" a resolution of 1 millisecond on timer2.
Blog électronique : battomicro.wordpress.com
Photographie : www.interactive-celebration.fr
Fablab de Montpellier : www.labsud.org

Bernarduino

Bonsoir,

Testé  avec  60 secondes ... OK

Salutations

kafifi

Je suis en déplacement quelques jours, je teste tout cela ce week-end.
Merci encore !

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy