practica 2

Dependencies:   mbed

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;
+}