ccvcv

Dependencies:   TextLCD mbed

Fork of PRACTICA3 by compartido

Committer:
carlospomar
Date:
Fri Nov 10 08:48:12 2017 +0000
Revision:
1:591fea5f363b
Parent:
0:73a5b9689b80
Child:
2:0ef1b1712e64
practica3

Who changed what in which revision?

UserRevisionLine numberNew contents of line
carlospomar 0:73a5b9689b80 1 #include "mbed.h"
carlospomar 1:591fea5f363b 2 // librería LCD
carlospomar 1:591fea5f363b 3
carlospomar 1:591fea5f363b 4 #define vector 100
carlospomar 1:591fea5f363b 5 //TextLCD (6 puertos, TextLCD::LCD16x2); rs,e,d4-d7
carlospomar 0:73a5b9689b80 6
carlospomar 1:591fea5f363b 7 InterruptIn Sw (); //pulsador en el puerto
carlospomar 1:591fea5f363b 8 AnalogIn leer (); // leer del puerto
carlospomar 1:591fea5f363b 9 Ticker muestreo;
carlospomar 1:591fea5f363b 10 Ticker visualizar;
carlospomar 1:591fea5f363b 11 int contt=0;
carlospomar 1:591fea5f363b 12 int contm=0;
carlospomar 1:591fea5f363b 13 int dato=0,
carlospomar 1:591fea5f363b 14 int bufferlleno=0;
carlospomar 1:591fea5f363b 15 int flag;
carlospomar 1:591fea5f363b 16 float buffer1 [vector];
carlospomar 1:591fea5f363b 17 float buffer2 [vector];
carlospomar 1:591fea5f363b 18 float Vrms;
carlospomar 1:591fea5f363b 19 float suma;
carlospomar 1:591fea5f363b 20 float muestra;
carlospomar 0:73a5b9689b80 21
carlospomar 1:591fea5f363b 22 void temporizador
carlospomar 1:591fea5f363b 23
carlospomar 1:591fea5f363b 24 {
carlospomar 1:591fea5f363b 25 if (flag)
carlospomar 1:591fea5f363b 26 {
carlospomar 1:591fea5f363b 27
carlospomar 1:591fea5f363b 28 }
carlospomar 1:591fea5f363b 29 contt++;
carlospomar 1:591fea5f363b 30 if (contt==100)
carlospomar 1:591fea5f363b 31 {
carlospomar 1:591fea5f363b 32 contt =0;
carlospomar 1:591fea5f363b 33 flag =!flag;
carlospomar 1:591fea5f363b 34 bufferlleno=0;
carlospomar 1:591fea5f363b 35 }
carlospomar 1:591fea5f363b 36 }
carlospomar 1:591fea5f363b 37
carlospomar 1:591fea5f363b 38 void boton()
carlospomar 1:591fea5f363b 39 {
carlospomar 1:591fea5f363b 40 dato++;
carlospomar 1:591fea5f363b 41 if (dato>1) {
carlospomar 1:591fea5f363b 42 dato = 0;
carlospomar 0:73a5b9689b80 43 }
carlospomar 0:73a5b9689b80 44 }
carlospomar 1:591fea5f363b 45
carlospomar 1:591fea5f363b 46 void LCD()
carlospomar 1:591fea5f363b 47 {
carlospomar 1:591fea5f363b 48 lcd.cls();
carlospomar 1:591fea5f363b 49 switch (dato) {
carlospomar 1:591fea5f363b 50 case 0;
carlospomar 1:591fea5f363b 51 lcdprintf(); //Vrms :\n%3.3f V,Vrms
carlospomar 1:591fea5f363b 52 break;
carlospomar 1:591fea5f363b 53 case 1;
carlospomar 1:591fea5f363b 54 lcdprintf(); //
carlospomar 1:591fea5f363b 55 break;
carlospomar 1:591fea5f363b 56 }
carlospomar 1:591fea5f363b 57 }
carlospomar 1:591fea5f363b 58
carlospomar 1:591fea5f363b 59 int main()
carlospomar 1:591fea5f363b 60 {
carlospomar 1:591fea5f363b 61
carlospomar 1:591fea5f363b 62 contador = 0 ;
carlospomar 1:591fea5f363b 63
carlospomar 1:591fea5f363b 64 muestreo.attach_us (&temporizador,200);
carlospomar 1:591fea5f363b 65 visualizar.attach (&mostrar, 1);
carlospomar 1:591fea5f363b 66 Sw.rise(&boton);
carlospomar 1:591fea5f363b 67
carlospomar 1:591fea5f363b 68 //printf("pwm set to %.2f %%\n", mypwm.read() * 100);
carlospomar 1:591fea5f363b 69
carlospomar 1:591fea5f363b 70 while(1) {
carlospomar 1:591fea5f363b 71 if (bufferlleno) {
carlospomar 1:591fea5f363b 72 suma=0;
carlospomar 1:591fea5f363b 73 for (contm=0; contm<100: contm++) {
carlospomar 1:591fea5f363b 74 if (flag==1) {
carlospomar 1:591fea5f363b 75 muestra=buffer1[contm];
carlospomar 1:591fea5f363b 76 } else {
carlospomar 1:591fea5f363b 77 muestra=buffer2[contm];
carlospomar 1:591fea5f363b 78 }
carlospomar 1:591fea5f363b 79 }
carlospomar 1:591fea5f363b 80 }
carlospomar 1:591fea5f363b 81
carlospomar 1:591fea5f363b 82 }
carlospomar 1:591fea5f363b 83 }