compartido
/
PRACTICA3
Práctica 3
Fork of PR3 by
main.cpp
- Committer:
- carlospomar
- Date:
- 2017-11-10
- Revision:
- 2:0ef1b1712e64
- Parent:
- 1:591fea5f363b
- Child:
- 3:30f1e2f8308c
File content as of revision 2:0ef1b1712e64:
#include "mbed.h" // librería LCD #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 Ticker muestreo; Ticker visualizar; int contt=0; int contm=0; int contvpp=0; int dato=0, 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 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 muestra; // variabla para hacer las operaciones void temporizador { if (flag2) { } contt++; if (contt==100) { contt =0; flag2 =!flag2; bufferlleno=0; } } void boton() { dato++; if (dato>1) { dato = 0; } } void LCD() { lcd.cls(); switch (dato) { case 0; lcdprintf(); //Vrms :\n%3.3f V,Vrms break; case 1; lcdprintf(); // break; } } void calculovpp () { for(contvpp=0; contvpp=99; contvpp++) if (muestra(contvpp)>Vpmax) { Vpmax=muestra(contvpp); } else { if (muestra(contvpp)<Vpmin) { Vpmin=muestra(contvpp); } else { if(!flag3) { Vpp = Vpmax-Vpmin; flag3=!flag3; } } } } int main() { muestreo.attach_us (&temporizador,200); visualizar.attach (&mostrar, 1); Sw.rise(&boton); //printf("pwm set to %.2f %%\n", mypwm.read() * 100); while(1) { if (bufferlleno) { suma=0; flag3=0; for (contm=0; contm<100: contm++) { if (flag1==1) { muestra=buffer1[contm]; } else { muestra=buffer2[contm]; } } } } }