Cadencer des mesures

Il est possible de cadencer l’échantillonnage avec micros() plus des unsigned long et la durée d'acquisition avec millis(), et des words. Ce sont deux choses indépendantes.

Si le programme ne doit pas recommencer comme le code du départ, si la condition de fin arrive, on arrête tout, par exemple en mettant une boucle infinie: while (true);

Comme millis() s'incrémente parfois de 1 parfois de 2 et que la fréquence d'échantillonnage est faible, dans ce cas une bonne solution est de passer par un timer qui va cadencer l'ensemble. L'avantage est que quand l'interruption arrive, elle est prise en compte à la fin de l'instruction, ce qui peut ne faire qu'une centaine de ns de différence.

Avantage de passer par interruption: c'est l'interruption qui fait l'échantillonnage, et éventuellement fait le traitement. Du coup loop peut faire autre chose, par exemple gérer les réglages, les reprise d' séquence d'échantillonnage...
Inconvénient: c'est un peu plus compliqué à écrire.