![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Coursework
Diff: main.cpp
- Revision:
- 15:234321e80678
- Parent:
- 12:ceea378d5691
- Child:
- 16:2646c1c4e62e
diff -r ceea378d5691 -r 234321e80678 main.cpp --- a/main.cpp Sat Jan 08 17:35:22 2022 +0000 +++ b/main.cpp Thu Jan 13 20:18:10 2022 +0000 @@ -62,7 +62,7 @@ volatile int g_buttonBack_flag = 0; // Global Flag volatile int g_buttonLeft_flag = 0; // Global Flag volatile int g_buttonRight_flag = 0; // Global Flag - +int buttonCounter(); //volatile int g_buttonA_counter = 0; // Global counter //Test function after research C++ lanuage 05/01/22 int cube(int num){ @@ -297,20 +297,47 @@ } } } + int buttonCount(){ + + Press++; + if (Press >3){ + Press = 0; + } + return Press; + } //Button A event-triggered interrupt void buttonA_isr() { - Press++; + buttonCount(); + switch(Press){ + case 1: + lcd.clear(); + Press = 1; + lcd.printString("Menu 1",0,0); + lcd.refresh(); + break; + case 2: + Press = 2; + lcd.clear(); + lcd.printString("Menu 2",0,10); + lcd.refresh(); + break; + Press = 3; + lcd.clear(); + lcd.printString("Menu 3",0,20); + lcd.refresh(); + break; + } g_buttonA_flag = 1; // set flag in ISR printf("press count = %i\n",Press); // lcd.clear(); - lcd.printString("Button A Pressed",0,0); + //lcd.printString("Button A Pressed",0,0); - lcd.refresh(); // set flag in ISR + // lcd.refresh(); // set flag in ISR }