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
main.cpp@1:d4872e4c64c1, 2014-03-24 (annotated)
- 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?
User | Revision | Line number | New 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 | } |