Krzysztof Krawczyk
/
mech_instrum_lab_1_2_3_1_debouncing
Lab Day 1, Experiment 2.3.1: Debouncing
Revision 0:c15c469875a1, committed 2020-08-02
- Comitter:
- t00209054
- Date:
- Sun Aug 02 11:52:28 2020 +0000
- Commit message:
- V2
Changed in this revision
diff -r 000000000000 -r c15c469875a1 C12832.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/C12832.lib Sun Aug 02 11:52:28 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/askksa12543/code/C12832/#990d5eec2ef6
diff -r 000000000000 -r c15c469875a1 main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sun Aug 02 11:52:28 2020 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" +#include "C12832.h" + +InterruptIn joystickcenter(p14); +InterruptIn button(p9); +DigitalOut led(LED1); +DigitalOut flash(LED4); +C12832 lcd(p5, p7, p6, p8, p11); + +// global declarations +Timer debounce; +int i; + +// instructions +void flip() +{ + // local declarations + if (debounce.read_ms() > 1000) { + i = 1; + debounce.reset(); + led = !led; // toggles the led when the joystick button is pressed. + } +} + +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 + debounce.start(); + while(1) { // wait around, interrupts will interrupt this! + flash = !flash; // turns LED4 on if off, off if on + wait(0.25); // the instruction to wait for half-second + if(i==1) { + lcd.locate(0,0); + lcd.printf("%d", debounce.read_ms()); + i = 0; + } + } +}
diff -r 000000000000 -r c15c469875a1 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Aug 02 11:52:28 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file