Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Revision 10:42e70b596099, committed 2022-01-07
- Comitter:
- sesa514652
- Date:
- Fri Jan 07 12:09:52 2022 +0000
- Parent:
- 9:cdd7d9a123f9
- Child:
- 11:1dec05b7d1c1
- Commit message:
- Button Press recording on screen, to make this action occur instantly
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Thu Jan 06 21:58:39 2022 +0000
+++ b/main.cpp Fri Jan 07 12:09:52 2022 +0000
@@ -4,6 +4,7 @@
#include "hcsr04.h"
#include "Piezo.h"
#include "string"
+
// y x button
Joystick joystick(PTB10,PTB11,PTC16);
HCSR04 sensor(D14, D15);
@@ -28,14 +29,29 @@
void init_K64F();
// Button A interrupt service routine
void buttonA_isr();
+// Button B interrupt service routine
+void buttonB_isr();
+// Button X interrupt service routine
+void buttonX_isr();
+// Button Y interrupt service routine
+void buttonY_isr();
volatile int g_buttonA_flag = 0;
+volatile int g_buttonB_flag = 0;
+volatile int g_buttonX_flag = 0;
+volatile int g_buttonY_flag = 0;
//Test function after research C++ lanuage 05/01/22
int cube(int num){
int result;
result = num*num;
return result;
};
-
+// Menu Items
+int page1;
+int page2;
+int page3;
+string Listitem1 = "Game"; // guess distance
+string Listitem2 = "Measure"; // measure distance of object
+string Listitem3 = "Detect"; // alarm when object is dectected
N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
/* Test of the interup an operating the buzzer this kills the board
void buzzme(){
@@ -44,10 +60,19 @@
Buzzer.play(200,120);;
}
*/
- void printme(){
+ double printme(){
- printf("A Pressed");
+ double x ;
+ x = 1;
+ printf("%f\n",x);
+ return 0;
}
+
+
+//void returnme(){
+//int num;
+ // return num*num;
+ // };
int main() {
//initialise Joystic
joystick.init();
@@ -57,9 +82,21 @@
// Button A is connected between the pin and 3.3 V, we therefore need to turn on the internal pull-down resister
buttonA.mode(PullDown);
+ // Button B is connected between the pin and 3.3 V, we therefore need to turn on the internal pull-down resister
+ buttonB.mode(PullDown);
+ // Button X is connected between the pin and 3.3 V, we therefore need to turn on the internal pull-down resister
+ buttonX.mode(PullDown);
+ // Button Y is connected between the pin and 3.3 V, we therefore need to turn on the internal pull-down resister
+ buttonY.mode(PullDown);
// It will return 0 by default and a 1 when pressed i.e. cause a rising edge
- // buttonA.rise(&buttonA_isr);
+ buttonA.rise(&buttonA_isr);
+ // It will return 0 by default and a 1 when pressed i.e. cause a rising edge
+ buttonB.rise(&buttonB_isr);
+ // It will return 0 by default and a 1 when pressed i.e. cause a rising edge
+ buttonX.rise(&buttonX_isr);
+ // It will return 0 by default and a 1 when pressed i.e. cause a rising edge
+ buttonY.rise(&buttonY_isr);
@@ -79,7 +116,7 @@
// string ;
};
// Test Class 06/01/22
-class myClass{
+ class myClass{
public:
string nameclass ;
double dubss;
@@ -87,21 +124,50 @@
};
myClass Class1;
Class1.nameclass ="firstclass";
- ObjectDefine Object1;
-Object1.qwer = 12;
+ ObjectDefine Object1;
+ Object1.qwer = 12;
Object1.Distance = 34;
Object1.te = 'A';
Object1.dubs = 23;
- Object1.namestruct = "name";
+ Object1.namestruct = "name";
//buttonA.rise(&buzzme); Omitted due to error
-buttonA.rise(&printme);
+//buttonA.rise(&printme,10);
+//buttonA.rise(&returnme);
while(1) {
//Tune(Buzzer,So6,8);
//Stop_tunes(Buzzer);
//Section of code to try to get the button press to be recorded
//bool button = buttonA.read();
-printf("%f\n", g_buttonA_flag );
+//printf("%f\n", g_buttonA_flag );
+//Recording button presses
+if (g_buttonA_flag){
+ g_buttonA_flag = 0; // if it has, clear the flag
+
+ // send message over serial port - can observe in CoolTerm etc.
+ printf("Button A pressed\n");
+ }
+if (g_buttonB_flag){
+ g_buttonB_flag = 0; // if it has, clear the flag
+ // send message over serial port - can observe in CoolTerm etc.
+ printf("Button B pressed\n");
+ }
+if (g_buttonX_flag){
+ g_buttonX_flag = 0; // if it has, clear the flag
+
+ // send message over serial port - can observe in CoolTerm etc.
+ printf("Button X pressed\n");
+ lcd.clear();
+ lcd.printString("Button Pressed!",0,0);
+ lcd.refresh();
+ wait(10);
+ }
+if (g_buttonY_flag){
+ g_buttonY_flag = 0; // if it has, clear the flag
+
+ // send message over serial port - can observe in CoolTerm etc.
+ printf("Button Y pressed\n");
+ }
Buzzer.play(200,120);
wait_ms(5);
Buzzer.play(200,120);
@@ -161,8 +227,25 @@
}
}
- // Button A event-triggered interrupt
-//void buttonA_isr()
-//{
- // g_buttonA_flag = 1; // set flag in ISR
-//}
+
+
+ //Button A event-triggered interrupt
+void buttonA_isr()
+{
+ g_buttonA_flag = 1; // set flag in ISR
+}
+ //Button B event-triggered interrupt
+void buttonB_isr()
+{
+ g_buttonB_flag = 1; // set flag in ISR
+}
+ //Button X event-triggered interrupt
+void buttonX_isr()
+{
+ g_buttonX_flag = 1; // set flag in ISR
+}
+ //Button Y event-triggered interrupt
+void buttonY_isr()
+{
+ g_buttonY_flag = 1; // set flag in ISR
+}