compartido
/
PRACTICA3
Práctica 3
Fork of PR3 by
Diff: main.cpp
- Revision:
- 3:30f1e2f8308c
- Parent:
- 2:0ef1b1712e64
- Child:
- 4:71a955ddc240
--- a/main.cpp Fri Nov 10 12:10:53 2017 +0000 +++ b/main.cpp Fri Nov 10 12:54:55 2017 +0000 @@ -1,43 +1,45 @@ #include "mbed.h" -// librería LCD +#include "TextLCD.h" +#define constante (3,3^2)/((2^16)-1)*100) // valor constante para el cálculo de Vrms #define vector 100 // valor para definir el tamaño de los búfferes de muestreo + //TextLCD (6 puertos, TextLCD::LCD16x2); rs,e,d4-d7 - -InterruptIn Sw (); //pulsador en el puerto -AnalogIn leer (); // leer del puerto +InterruptIn Sw (); //pulsador en el puerto +AnalogIn leer (); // leer del puerto Ticker muestreo; Ticker visualizar; int contt=0; int contm=0; int contvpp=0; -int dato=0, +int dato=0, // variable para seleccionar el dato a mostrar int bufferlleno=0; // variable de estado int flag1; // variable para indicar cuando se tiene que cambiar de buffer int flag2; // variable para indicar cuando se tiene que int flag3; // variable para indicar cuando se tiene que calcular Vpp -int Vpmax=0; -int Vpmin=0; +int Vpmax=0; // variable para guardar el valor del pico superior +int Vpmin=0; // variable para guardar el valor del pico inferior int Vpp=0; float buffer1 [vector]; // buffer de muestreo 1 de tamaño 100 float buffer2 [vector]; // buffer de muestreo 2 de tamaño 100 float Vrms; // variabla para guardar el valor de RMS -float suma; // variable que es la suma de los valores de la muestra +float valor; +float sumatorio; // variable que es la suma de los valores de la muestra float muestra; // variabla para hacer las operaciones -void temporizador -{ - if (flag2) { - - } - contt++; - if (contt==100) { - contt =0; - flag2 =!flag2; - bufferlleno=0; - } -} +//void temporizador () +//{ +// if (flag2) { +// +// } +// contt++; +// if (contt==100) { +// contt =0; +// flag2 =!flag2; +// bufferlleno=0; +// } +//} void boton() { @@ -52,10 +54,10 @@ lcd.cls(); switch (dato) { case 0; - lcdprintf(); //Vrms :\n%3.3f V,Vrms + lcdprintf("Vrms: %n V",Vrms); //Vrms :\n%3.3f V,Vrms break; case 1; - lcdprintf(); // + lcdprintf("Vpp: %n V",Vpp); // break; } } @@ -75,9 +77,16 @@ } } } - } +void calculovrms () +{ +for (contvrms=0; contvrms=99; contvrms++) +{valor = muestra(contvrms); +valor = valor*valor; +sumatorio = sumatorio + valor;} +Vrms = (constante*sumatorio)^(0.5); + } int main() {