Debouncing

Dependencies:   mbed C12832

main.cpp

Committer:
mariana_batalim
Date:
2020-06-20
Revision:
0:6b510cf92f81
Child:
1:73ef4330603a

File content as of revision 0:6b510cf92f81:

#include "mbed.h"
#include "C12832.h"
C12832 lcd(p5, p7, p6, p8, p11);
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()>=3000)
 { led = !led; // toggles the led when the joystick button is pressed.
 x=1;
 }
}
int main() {
 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.printf("Test ");
     x=0;
     }
 wait(0.25); // the instruction to wait for a quarter-second
 }
}