Debouncing

Dependencies:   mbed C12832

main.cpp

Committer:
jforde
Date:
2020-07-28
Revision:
1:73ef4330603a
Parent:
0:6b510cf92f81

File content as of revision 1:73ef4330603a:

#include "mbed.h"                            //Preprocessor Directives
#include "C12832.h"

C12832 lcd(p5, p7, p6, p8, p11);              // Declarations
InterruptIn joystickcenter(p14);
InterruptIn button(p9);
DigitalOut led(LED1);
DigitalOut flash(LED4);
Timer debounce;
int x;

void flip() {
 debounce.start();                        // Start debounce timer 
 if (debounce.read_ms()>=5000)
 { led = !led;                            // toggles the led when the joystick button is pressed.
 x=1;
 }
}
int main() {                               //instructions in main () function 
 joystickcenter.rise(&flip);               // attach the function address to the rising edge
 button.mode(PullUp);                      // With this, no external pullup resistor needed
 button.rise(&flip);                       // attach the function address to the rising edge
 while(1) {                                // wait around, interrupts will interrupt this!
 flash = !flash;                           // turns LED4 on if off, off if on
 if (x ==1) 
     {
     lcd.locate (0,0);
     lcd.printf("Variable Is Set");
     x=0;
     }
 wait(0.25);                               // the instruction to wait for a quarter-second
 }
}