Code to demonstrate use of the two buttons to toggle LED's
Fork of nRF_buttons by
main.cpp@2:2ee8a0e3e3f9, 2016-09-07 (annotated)
- Committer:
- smartsystemdesign
- Date:
- Wed Sep 07 15:48:11 2016 +0000
- Revision:
- 2:2ee8a0e3e3f9
- Parent:
- 1:0133472f4825
Added the rest of the buttons and LEDs.
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" |
smartsystemdesign | 2:2ee8a0e3e3f9 | 8 | /* Define pin names and numbers */ |
smartsystemdesign | 2:2ee8a0e3e3f9 | 9 | |
smartsystemdesign | 2:2ee8a0e3e3f9 | 10 | #define SW4 p16 |
smartsystemdesign | 2:2ee8a0e3e3f9 | 11 | #define SW3 p15 |
smartsystemdesign | 2:2ee8a0e3e3f9 | 12 | #define SW2 p14 |
smartsystemdesign | 2:2ee8a0e3e3f9 | 13 | #define SW1 p13 |
smartsystemdesign | 2:2ee8a0e3e3f9 | 14 | |
djmannion | 1:0133472f4825 | 15 | /*Function Prototypes*/ |
djmannion | 1:0133472f4825 | 16 | void trigger1();//Button1 Interrupt function |
djmannion | 1:0133472f4825 | 17 | void trigger2();//Button2 Interrup Function |
smartsystemdesign | 2:2ee8a0e3e3f9 | 18 | void trigger3();//Button1 Interrupt function |
smartsystemdesign | 2:2ee8a0e3e3f9 | 19 | void trigger4();//Button2 Interrup Function |
djmannion | 1:0133472f4825 | 20 | |
djmannion | 0:f932320f7606 | 21 | //Instantiate IO objects |
djmannion | 0:f932320f7606 | 22 | DigitalOut led_1(LED1); |
djmannion | 0:f932320f7606 | 23 | DigitalOut led_2(LED2); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 24 | DigitalOut led_3(LED3); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 25 | DigitalOut led_4(LED4); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 26 | |
djmannion | 0:f932320f7606 | 27 | DigitalIn sw_1(SW1); |
djmannion | 0:f932320f7606 | 28 | DigitalIn sw_2(SW2); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 29 | DigitalIn sw_3(SW3); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 30 | DigitalIn sw_4(SW4); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 31 | |
djmannion | 1:0133472f4825 | 32 | //Instantiate input interrupts |
djmannion | 1:0133472f4825 | 33 | InterruptIn sw1Press(SW1); |
djmannion | 1:0133472f4825 | 34 | InterruptIn sw2Press(SW2); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 35 | InterruptIn sw3Press(SW3); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 36 | InterruptIn sw4Press(SW4); |
djmannion | 0:f932320f7606 | 37 | |
djmannion | 0:f932320f7606 | 38 | int main() { |
djmannion | 1:0133472f4825 | 39 | //Initialise LED output |
djmannion | 0:f932320f7606 | 40 | led_1=0; |
djmannion | 0:f932320f7606 | 41 | led_2=0; |
smartsystemdesign | 2:2ee8a0e3e3f9 | 42 | led_3=0; |
smartsystemdesign | 2:2ee8a0e3e3f9 | 43 | led_4=0; |
smartsystemdesign | 2:2ee8a0e3e3f9 | 44 | |
smartsystemdesign | 2:2ee8a0e3e3f9 | 45 | //Choose falling edge interrupt and connect to appropriate interrupt function |
djmannion | 1:0133472f4825 | 46 | sw1Press.fall(&trigger1); |
djmannion | 1:0133472f4825 | 47 | sw2Press.fall(&trigger2); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 48 | sw3Press.fall(&trigger3); |
smartsystemdesign | 2:2ee8a0e3e3f9 | 49 | sw4Press.fall(&trigger4); |
djmannion | 1:0133472f4825 | 50 | while(1) {} |
djmannion | 0:f932320f7606 | 51 | } |
djmannion | 1:0133472f4825 | 52 | /*Button1 interrupt function*/ |
djmannion | 1:0133472f4825 | 53 | void trigger1() |
djmannion | 1:0133472f4825 | 54 | { |
djmannion | 1:0133472f4825 | 55 | led_1=!led_1; |
djmannion | 1:0133472f4825 | 56 | } |
djmannion | 1:0133472f4825 | 57 | /*Button2 interrupt function*/ |
djmannion | 1:0133472f4825 | 58 | void trigger2() |
djmannion | 1:0133472f4825 | 59 | { |
djmannion | 1:0133472f4825 | 60 | led_2=!led_2; |
smartsystemdesign | 2:2ee8a0e3e3f9 | 61 | } |
smartsystemdesign | 2:2ee8a0e3e3f9 | 62 | /*Button3 interrupt function*/ |
smartsystemdesign | 2:2ee8a0e3e3f9 | 63 | void trigger3() |
smartsystemdesign | 2:2ee8a0e3e3f9 | 64 | { |
smartsystemdesign | 2:2ee8a0e3e3f9 | 65 | led_3=!led_3; |
smartsystemdesign | 2:2ee8a0e3e3f9 | 66 | } |
smartsystemdesign | 2:2ee8a0e3e3f9 | 67 | /*Button4 interrupt function*/ |
smartsystemdesign | 2:2ee8a0e3e3f9 | 68 | void trigger4() |
smartsystemdesign | 2:2ee8a0e3e3f9 | 69 | { |
smartsystemdesign | 2:2ee8a0e3e3f9 | 70 | led_4=!led_4; |
djmannion | 1:0133472f4825 | 71 | } |