practica 2

Dependencies:   mbed

main.cpp

Committer:
freind00
Date:
2018-10-25
Revision:
1:f93d0ebd28c0
Parent:
0:e58fbc584d0b

File content as of revision 1:f93d0ebd28c0:

#include "mbed.h"
#include "datos.h"
#include "math.h"

Timer timer;

int tiempo;
float resultado=0;
float calcularRMS(int16_t *datos, int longitud);

int main()
{	
    timer.reset();
    timer.start();
    resultado=calcularRMS(datos, 500);
    timer.stop();
		tiempo = timer.read_us();
    printf("****El valor Vrms es %f calculado en %d us ****\n",resultado,timer.read_us());
}

float calcularRMS(int16_t *datos, int longitud)
{
		float constante = 4.503799027e-6;//(3.3/2e15)/sqrt(float(longitud));
		//float constante = 1.007080078e-4;
		int32_t producto=0;
		int64_t suma=0;
		for (int i=0; i<longitud; i++){
			producto = datos[i]*datos[i];
			suma +=producto;
		}
		
		return sqrt((float)suma)*constante;
		//return sqrt((float)suma/longitud)*constante;
}