
practica 2
Dependencies: mbed
Diff: main.cpp
- Revision:
- 0:e58fbc584d0b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Oct 25 17:29:45 2018 +0000 @@ -0,0 +1,34 @@ +#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; +}