CA 2.3.1 Debouncing

Dependencies:   mbed C12832

main.cpp

Committer:
vmg
Date:
2020-07-26
Revision:
0:c85a8aa92f33

File content as of revision 0:c85a8aa92f33:

#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();
if (debounce.read_ms()>1000)
debounce.reset();
    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!
        if(x==1) {
            lcd.locate(0,0);
            lcd.printf("Variable has been SET!");
            flash = !flash; // turns LED4 on if off, off if on
            x=0;
            wait(0.25); // the instruction to wait for a quarter-second
        }
    }
}