Code to demonstrate use of the two buttons to toggle LED's
Dependencies: mbed
Simple code to demonstrate the use of buttons to toggle LEDs on and off.
main.cpp@1:0133472f4825, 2014-12-12 (annotated)
- Committer:
- djmannion
- Date:
- Fri Dec 12 18:02:52 2014 +0000
- Revision:
- 1:0133472f4825
- Parent:
- 0:f932320f7606
Interrupts now used
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
djmannion | 0:f932320f7606 | 1 | /* |
djmannion | 0:f932320f7606 | 2 | This code uses the button1 to toggle LED1 and button2 to toggle LED2 |
djmannion | 0:f932320f7606 | 3 | Author: Dan M |
djmannion | 0:f932320f7606 | 4 | Date Created: 12.12.2014 |
djmannion | 0:f932320f7606 | 5 | Last Update: 12.12.2014 |
djmannion | 0:f932320f7606 | 6 | */ |
djmannion | 0:f932320f7606 | 7 | #include "mbed.h" |
djmannion | 1:0133472f4825 | 8 | /* Define pin names and numbers (I know these probably aren't needed but I put them in to demonstrate pin numbering) */ |
djmannion | 0:f932320f7606 | 9 | #define LED1 p18 |
djmannion | 0:f932320f7606 | 10 | #define LED2 p19 |
djmannion | 0:f932320f7606 | 11 | #define SW1 p16 |
djmannion | 0:f932320f7606 | 12 | #define SW2 p17 |
djmannion | 1:0133472f4825 | 13 | /*Function Prototypes*/ |
djmannion | 1:0133472f4825 | 14 | void trigger1();//Button1 Interrupt function |
djmannion | 1:0133472f4825 | 15 | void trigger2();//Button2 Interrup Function |
djmannion | 1:0133472f4825 | 16 | |
djmannion | 0:f932320f7606 | 17 | //Instantiate IO objects |
djmannion | 0:f932320f7606 | 18 | DigitalOut led_1(LED1); |
djmannion | 0:f932320f7606 | 19 | DigitalOut led_2(LED2); |
djmannion | 0:f932320f7606 | 20 | DigitalIn sw_1(SW1); |
djmannion | 0:f932320f7606 | 21 | DigitalIn sw_2(SW2); |
djmannion | 1:0133472f4825 | 22 | //Instantiate input interrupts |
djmannion | 1:0133472f4825 | 23 | InterruptIn sw1Press(SW1); |
djmannion | 1:0133472f4825 | 24 | InterruptIn sw2Press(SW2); |
djmannion | 0:f932320f7606 | 25 | |
djmannion | 0:f932320f7606 | 26 | int main() { |
djmannion | 1:0133472f4825 | 27 | //Initialise LED output |
djmannion | 0:f932320f7606 | 28 | led_1=0; |
djmannion | 0:f932320f7606 | 29 | led_2=0; |
djmannion | 1:0133472f4825 | 30 | //Choose falling edge interrupt and connect to apppropriate interrup function |
djmannion | 1:0133472f4825 | 31 | sw1Press.fall(&trigger1); |
djmannion | 1:0133472f4825 | 32 | sw2Press.fall(&trigger2); |
djmannion | 1:0133472f4825 | 33 | while(1) {} |
djmannion | 0:f932320f7606 | 34 | } |
djmannion | 1:0133472f4825 | 35 | /*Button1 interrupt function*/ |
djmannion | 1:0133472f4825 | 36 | void trigger1() |
djmannion | 1:0133472f4825 | 37 | { |
djmannion | 1:0133472f4825 | 38 | led_1=!led_1; |
djmannion | 1:0133472f4825 | 39 | } |
djmannion | 1:0133472f4825 | 40 | /*Button2 interrupt function*/ |
djmannion | 1:0133472f4825 | 41 | void trigger2() |
djmannion | 1:0133472f4825 | 42 | { |
djmannion | 1:0133472f4825 | 43 | led_2=!led_2; |
djmannion | 1:0133472f4825 | 44 | } |