Coursework

Revision:
15:234321e80678
Parent:
12:ceea378d5691
Child:
16:2646c1c4e62e
--- 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
 }