javier vicente
/
MASTER_MAQUINA_SENCILLA_BOTON_Flanco
flanco
main.cpp@2:0a3c56b24c00, 2020-12-15 (annotated)
- 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?
User | Revision | Line number | New 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 | } |