float MaxMinMean(int *Buffer, int taille, int Type)
{
float valRetour=0.0;
switch (Type)
{
case 0:
valRetour=maxf(Buffer,taille);
return valRetour;
break;
case 1:
valRetour=minf(Buffer,taille);
return valRetour;
break;
case 2:
valRetour=meanf(Buffer,taille);
return valRetour;
break;
default:
return 0.0;
break;
}
}
étape 2: Remplissage des fichiers “MyLib.h” et “MyLib.cpp”
Fichier MyLib.h: Les déclarations des fonctions
Fichier MyLib.cpp: Les définitions des fonctions
Contenu du fichier “MyLib.h”
// Calcul de la valeur maximale
float maxf(int *Buffer, int taille);
// Calcul de la valeur minimale
float minf(int *Buffer, int taille);
// Calcul de la valeur moyenne
float meanf(int *Buffer, int taille);
// La fonction globale
float MaxMinMean(int *Buffer, int taille, int Type);
étape 3: Test de la nouvelle bibliothèque
#include "MyLib.h"
#define Taille 128
int tab[Taille], i;
float maxVal, minVal, meanVal;
int ValInst;
void setup()
{
Serial.begin(115200);
}
void loop()
{
// Lecture de la valeur instantanée
ValInst=analogRead(A0);
// Remplissage du buffer
for(i=0; i<Taille; i++)
tab[i]=analogRead(A0);
// Récupération des données du signal
maxVal=MaxMinMean(tab, Taille,0);
minVal=MaxMinMean(tab, Taille,1);
meanVal=MaxMinMean(tab, Taille,2);
// Affichage dans le port série
Serial.print(ValInst); Serial.print(",");
Serial.print(maxVal); Serial.print(",");
Serial.print(minVal); Serial.print(",");
Serial.println(meanVal);
}