main.cpp

Committer:
fabienlepoutre
Date:
2012-01-23
Revision:
1:e184fce6da0d
Parent:
0:5fccc8628275

File content as of revision 1:e184fce6da0d:

#include "mbed.h"

DigitalOut myled(LED1);
Timeout timeout;
AnalogIn voltage(p20);


typedef struct CHAINECH{
    float fValEch;
    struct CHAINECH* suivant;
    }ChainEch;
    
    
typedef struct HEADECH{
    ChainEch *FirstEch;
    int NbEch;
    ChainEch *LastEch;
    }HeadEch;
    
    
HeadEch Head;    
    

int main() {
}


void vTimeoutEch(){
    ChainEch* ValEch = (ChainEch*)malloc(sizeof(ChainEch));         //Cr�ation maillon valeur CAN
    ValEch->fValEch = voltage;                                       // R�cup�ration valeur -> ?!: valeur entre 0 et 1 -->> CONVERTIR
    ValEch->suivant = NULL;                                    
    if(Head.NbEch == 0){                                           // Test si Premier maillon
        Head.FirstEch = ValEch;                                    // Atribu. premier maillon
        Head.NbEch++;
        Head.LastEch = ValEch;
    }
    else{
        ChainEch* maillon = Head.FirstEch;                         // On va au bou de la chaine
        while(maillon->suivant !=NULL){
            maillon = maillon->suivant;
            }
        maillon->suivant = ValEch;                                  // Ajout a la chaine
        Head.NbEch++;
        Head.LastEch = ValEch;
        }
}
            
    
    
HeadEch* Echantillonnage(int freq){
    float time = 1/freq;                                            // periode echantillonnage 
    Head.NbEch =0;                                                 // Initialisation
    Head.FirstEch = NULL;
    
    
    timeout.attach(&vTimeoutEch, time);                             // Init Timeout
    }