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.

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?

UserRevisionLine numberNew 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 }