Code-Basis für Programm zum Taster-Entprellen

Dependencies:   SB1602E mbed

Fork of Laser-Distance by Stefan Kummer

main.cpp

Committer:
KStefan
Date:
2018-10-01
Revision:
12:b436e51e86a8
Parent:
11:b68be9bd5754
Child:
13:87f9e63b2cfa

File content as of revision 12:b436e51e86a8:

#include "mbed.h"
#include "SB1602E.h"
#define USE_I2C_2V8

DigitalOut myled(P0_8); // 7=rot, 8=grün, 9=blau
DigitalIn sw_o(P0_12);
InterruptIn sw_b(P0_13);
InterruptIn sw_g(P0_14);

I2C i2c_disp(P0_5, P0_4); //  SDA, SCL auf LPC11U24
SB1602E lcd(i2c_disp);

int count_o, count_b, count_g = 0;

void blue(){
    count_b++;
    }
void green() {
    count_g++;
    }

int main()
{
    sw_o.mode(PullUp);
    sw_b.mode(PullUp);
    sw_g.mode(PullUp);

    sw_b.fall(&blue);
    sw_g.fall(&green);
    wait(0.2);
    
    int sw_o_old = 0;
    int sw_o_new;
    
    lcd.printf(0, "Red Blue Green\r");    //  Parameter von printf auf LCD: Zeilennummer (0 or 1), string
    while(1) {
        sw_o_new = sw_o;
        if ((sw_o_new==0) && (sw_o_old==1)) count_o++;  // fallende Flanke: old=1 & new=0
        sw_o_old = sw_o_new;
        lcd.printf(1,1, "%d   %d   %d", count_o, count_b, count_g);

        myled = !myled;

    }
}