
Test InterruptIn without debouncing buttons. Lab 1
main.cpp@0:a9d69c7ddfdf, 2019-08-10 (annotated)
- Committer:
- Dariusz_Piskorowski
- Date:
- Sat Aug 10 22:41:30 2019 +0000
- Revision:
- 0:a9d69c7ddfdf
Test InterruptIn without debouncing buttons Rev.1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 1 | #include "mbed.h" |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 2 | #include "C12832.h" |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 3 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 4 | C12832 lcd(p5, p7, p6, p8, p11); //establish communication with lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 5 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 6 | InterruptIn UP(p15); // set. digital inputs p12-16 connected to joystick |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 7 | InterruptIn DN(p12); |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 8 | InterruptIn LT(p13); |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 9 | InterruptIn RT(p16); |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 10 | InterruptIn CT(p14); |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 11 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 12 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 13 | int main() { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 14 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 15 | lcd.cls(); // clear lcd screen |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 16 | lcd.locate(0,4); // set first line and 4 place for lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 17 | lcd.printf("Main loop OK"); // display control text |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 18 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 19 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 20 | while(1) { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 21 | /* now we have five digital inputs, everytime when we press the joystick |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 22 | we connect apriopiate pin to 3.3V (state HIGH = 1) and we repeat |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 23 | the same sequence of code depend of chosen direction (UP, DN etc.) |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 24 | */ |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 25 | if(UP==1) //check condition if UP button is pressed |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 26 | { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 27 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 28 | lcd.printf("UP is pressed\n\r"); //print text on lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 29 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 30 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 31 | if(DN==1) //check condition if DN button is pressed |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 32 | { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 33 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 34 | lcd.printf("DN pressed"); //print text on lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 35 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 36 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 37 | if(RT==1) //check condition if RT button is pressed |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 38 | { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 39 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 40 | lcd.printf("Right pressed"); //print text on lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 41 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 42 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 43 | if(LT==1) //check condition if LT button is pressed |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 44 | { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 45 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 46 | lcd.printf("Left pressed"); //print text on lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 47 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 48 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 49 | if(CT==1) //check condition if CT button is pressed |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 50 | { |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 51 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 52 | lcd.printf("Center pressed"); //print text on lcd |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 53 | |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 54 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 55 | } |
Dariusz_Piskorowski | 0:a9d69c7ddfdf | 56 | } |