flanco

Dependencies:   mbed

Committer:
javiervicente
Date:
Tue Dec 15 18:22:45 2020 +0000
Revision:
2:0a3c56b24c00
Parent:
1:e48e2013b468
Child:
3:39593d8bbf4e
Maquina

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 2:0a3c56b24c00 5 El led se tiene que encender durante dos segundos cuando se pulse
javiervicente 2:0a3c56b24c00 6 El boton de la placa funciona por nivel bajo
javiervicente 0:169a1334de5d 7 */
javiervicente 0:169a1334de5d 8 enum estados {apagado, encendido} estado;
javiervicente 0:169a1334de5d 9
javiervicente 0:169a1334de5d 10 Timer temporizador;
javiervicente 0:169a1334de5d 11
javiervicente 0:169a1334de5d 12
javiervicente 0:169a1334de5d 13 DigitalOut led(LED1);
javiervicente 2:0a3c56b24c00 14 DigitalIn boton(USER_BUTTON);
javiervicente 0:169a1334de5d 15
javiervicente 0:169a1334de5d 16 void estadoApagado()
javiervicente 0:169a1334de5d 17 {
javiervicente 2:0a3c56b24c00 18 if(boton==0) {
javiervicente 0:169a1334de5d 19 temporizador.reset();
javiervicente 0:169a1334de5d 20 led=1;
javiervicente 0:169a1334de5d 21 estado=encendido;
javiervicente 0:169a1334de5d 22 }
javiervicente 0:169a1334de5d 23 }
javiervicente 0:169a1334de5d 24
javiervicente 0:169a1334de5d 25 void estadoEncendido()
javiervicente 0:169a1334de5d 26 {
javiervicente 2:0a3c56b24c00 27 if(temporizador.read()>2.0f) {
javiervicente 0:169a1334de5d 28 led=0;
javiervicente 0:169a1334de5d 29 estado=apagado;
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 }