Boton

Dependencies:   mbed

Committer:
javiervicente
Date:
Tue Dec 15 18:15:25 2020 +0000
Revision:
1:e48e2013b468
Parent:
0:169a1334de5d
Child:
2:0a3c56b24c00
cambio 091

Who changed what in which revision?

UserRevisionLine numberNew contents of line
javiervicente 0:169a1334de5d 1 #include "mbed.h"
javiervicente 0:169a1334de5d 2
javiervicente 0:169a1334de5d 3 /*
javiervicente 0:169a1334de5d 4 Maquina sencilla de dos estados. Estado ledApagado y estado ledEncendido.
javiervicente 1:e48e2013b468 5 El led tiene que estar encendido medio segundo y apagado 1 segundo.
javiervicente 0:169a1334de5d 6 */
javiervicente 0:169a1334de5d 7 enum estados {apagado, encendido} estado;
javiervicente 0:169a1334de5d 8
javiervicente 0:169a1334de5d 9 Timer temporizador;
javiervicente 0:169a1334de5d 10
javiervicente 0:169a1334de5d 11
javiervicente 0:169a1334de5d 12 DigitalOut led(LED1);
javiervicente 0:169a1334de5d 13
javiervicente 0:169a1334de5d 14 void estadoApagado()
javiervicente 0:169a1334de5d 15 {
javiervicente 0:169a1334de5d 16 if(temporizador.read()>1.0f) {
javiervicente 0:169a1334de5d 17 temporizador.reset();
javiervicente 0:169a1334de5d 18 led=1;
javiervicente 0:169a1334de5d 19 estado=encendido;
javiervicente 0:169a1334de5d 20 }
javiervicente 0:169a1334de5d 21 }
javiervicente 0:169a1334de5d 22
javiervicente 0:169a1334de5d 23 void estadoEncendido()
javiervicente 0:169a1334de5d 24 {
javiervicente 0:169a1334de5d 25 if(temporizador.read()>0.5f) {
javiervicente 0:169a1334de5d 26 temporizador.reset();
javiervicente 0:169a1334de5d 27 led=0;
javiervicente 0:169a1334de5d 28 estado=apagado;
javiervicente 0:169a1334de5d 29
javiervicente 0:169a1334de5d 30 }
javiervicente 0:169a1334de5d 31 }
javiervicente 0:169a1334de5d 32
javiervicente 0:169a1334de5d 33 int main()
javiervicente 0:169a1334de5d 34 {
javiervicente 0:169a1334de5d 35 led=0;
javiervicente 0:169a1334de5d 36 estado=apagado;
javiervicente 0:169a1334de5d 37 temporizador.reset();
javiervicente 0:169a1334de5d 38 temporizador.start();
javiervicente 0:169a1334de5d 39 while(1) {
javiervicente 0:169a1334de5d 40 switch(estado) {
javiervicente 0:169a1334de5d 41 case apagado:
javiervicente 0:169a1334de5d 42 estadoApagado();
javiervicente 0:169a1334de5d 43 break;
javiervicente 0:169a1334de5d 44 case encendido:
javiervicente 0:169a1334de5d 45 estadoEncendido();
javiervicente 0:169a1334de5d 46 break;
javiervicente 0:169a1334de5d 47 }
javiervicente 0:169a1334de5d 48
javiervicente 0:169a1334de5d 49 }
javiervicente 0:169a1334de5d 50 }