Programa para dejar prendido o apagado un led mediante un boton haciendo uso de subrutinas en las interrupciones

Dependencies:   mbed

Fork of FRDM46Z_Interrupt by Raul Cortes

Committer:
rcortes
Date:
Mon Mar 24 18:59:41 2014 +0000
Revision:
1:d4872e4c64c1
Parent:
0:f0bc7bd8ae33
Programa para dejar prendido o apagado un led mediante un boton; haciendo uso de subrutinas en las interrupciones, sin usar el programa principal

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rcortes 0:f0bc7bd8ae33 1 //Programa para dejar prendido o apagado un led mediante un boton
rcortes 0:f0bc7bd8ae33 2 //Haciendo uso de subrutinas en las interrupciones
rcortes 0:f0bc7bd8ae33 3 //Y sin usar el programa principal
rcortes 0:f0bc7bd8ae33 4 #include "mbed.h"
rcortes 1:d4872e4c64c1 5 #define OFF 1
rcortes 1:d4872e4c64c1 6 #define ON 0
rcortes 0:f0bc7bd8ae33 7 InterruptIn sw1(SW1);
rcortes 0:f0bc7bd8ae33 8 InterruptIn sw3(SW3);
rcortes 0:f0bc7bd8ae33 9
rcortes 0:f0bc7bd8ae33 10 DigitalOut led_rojo(LED_RED);
rcortes 0:f0bc7bd8ae33 11 DigitalOut led_verde(LED_GREEN);
rcortes 0:f0bc7bd8ae33 12
rcortes 0:f0bc7bd8ae33 13 void sw1_int()
rcortes 0:f0bc7bd8ae33 14 {
rcortes 0:f0bc7bd8ae33 15 led_rojo = !led_rojo;
rcortes 0:f0bc7bd8ae33 16 }
rcortes 0:f0bc7bd8ae33 17 void sw3_int()
rcortes 0:f0bc7bd8ae33 18 {
rcortes 0:f0bc7bd8ae33 19 led_verde = !led_verde;
rcortes 0:f0bc7bd8ae33 20 }
rcortes 0:f0bc7bd8ae33 21 int main()
rcortes 0:f0bc7bd8ae33 22 {
rcortes 1:d4872e4c64c1 23 led_rojo=OFF;
rcortes 1:d4872e4c64c1 24 led_verde=OFF;
rcortes 0:f0bc7bd8ae33 25 sw1.fall(&sw1_int); // attach the address of the function to the falling edge
rcortes 0:f0bc7bd8ae33 26 sw3.fall(&sw3_int); // attach the address of the function to the falling edge
rcortes 0:f0bc7bd8ae33 27 while(1) { // wait around, interrupts will interrupt this!
rcortes 0:f0bc7bd8ae33 28 }
rcortes 0:f0bc7bd8ae33 29 }