diff --git a/Main.c b/Main.c
index e361bfa..a8b2c6e 100644
--- a/Main.c
+++ b/Main.c
@@ -44,6 +44,7 @@ uint32_t au32QrCode[25] =
static void vMainInitApp(void);
static void vPrintQr(void);
+static bool bCheckButton(void);
/**
* @fn int main (void)
@@ -58,10 +59,14 @@ int main (void)
vMainInitApp(); //init app
vPrintQr(); //print Qr
vStartAudio();
+ LED_On(0);
- while(1) {
- vUpdateLyrics();
+ while(!bCheckButton()) {
+ vUpdateLyrics();
}
+
+ LED_Off(0);
+ LPC_TIM0->TCR = 0; // stop music
}
/**
@@ -87,6 +92,8 @@ static void vMainInitApp(void)
// Init LED
LED_Initialize();
+
+ Buttons_Initialize();
}
/**
@@ -118,4 +125,36 @@ static void vPrintQr(void) {
}
}
+static bool bCheckButton(void)
+{
+ static bool lastState;
+ const bool btnState = Buttons_GetState();
+ static uint16_t u16Debunce;
+
+
+ if(u16Debunce < 1000U)
+ {
+ u16Debunce++;
+ }
+
+ if (btnState) //btn pressed
+ {
+ if(lastState && (u16Debunce >= 300U))
+ {
+ lastState = false;
+ u16Debunce = 0;
+ return false;
+ }
+
+ if((!lastState) && (u16Debunce == 1000U))
+ {
+ lastState = true;
+ u16Debunce = 0;
+ return true;
+ }
+
+ }
+ return lastState;
+}
+
diff --git a/RTE/_MCB1760_mit_LPC1768/RTE_Components.h b/RTE/_MCB1760_mit_LPC1768/RTE_Components.h
index 77d94e1..cc7f6a8 100644
--- a/RTE/_MCB1760_mit_LPC1768/RTE_Components.h
+++ b/RTE/_MCB1760_mit_LPC1768/RTE_Components.h
@@ -1,32 +1,27 @@
-
-/*
- * Auto generated Run-Time-Environment Configuration File
- * *** Do not modify ! ***
- *
- * Project: 'Welcome'
- * Target: 'MCB1760 mit LPC1768'
- */
-
-#ifndef RTE_COMPONENTS_H
-#define RTE_COMPONENTS_H
-
-
-/*
- * Define the Device Header File:
- */
-#define CMSIS_device_header "LPC17xx.h"
-
-/* Keil::CMSIS Driver:I2C:2.4.0 */
-#define RTE_Drivers_I2C0 /* Driver I2C0 */
- #define RTE_Drivers_I2C1 /* Driver I2C1 */
- #define RTE_Drivers_I2C2 /* Driver I2C2 */
-/* Keil::CMSIS Driver:SPI:SPI:2.1.0 */
-#define RTE_Drivers_SPI2 /* Driver SPI2 */
-/* Keil::CMSIS Driver:SPI:SSP:2.7.0 */
-#define RTE_Drivers_SPI0 /* Driver SPI0 */
- #define RTE_Drivers_SPI1 /* Driver SPI1 */
-/* Keil::Device:Startup:1.0.0 */
-#define RTE_DEVICE_STARTUP_LPC17XX /* Device Startup for NXP17XX */
-
-
-#endif /* RTE_COMPONENTS_H */
+
+/*
+ * Auto generated Run-Time-Environment Component Configuration File
+ * *** Do not modify ! ***
+ *
+ * Project: 'Welcome'
+ * Target: 'MCB1760 mit LPC1768'
+ */
+
+#ifndef RTE_COMPONENTS_H
+#define RTE_COMPONENTS_H
+
+
+/*
+ * Define the Device Header File:
+ */
+#define CMSIS_device_header "LPC17xx.h"
+
+#define RTE_DEVICE_STARTUP_LPC17XX /* Device Startup for NXP17XX */
+#define RTE_Drivers_I2C0 /* Driver I2C0 */
+ #define RTE_Drivers_I2C1 /* Driver I2C1 */
+ #define RTE_Drivers_I2C2 /* Driver I2C2 */
+#define RTE_Drivers_SPI0 /* Driver SPI0 */
+ #define RTE_Drivers_SPI1 /* Driver SPI1 */
+#define RTE_Drivers_SPI2 /* Driver SPI2 */
+
+#endif /* RTE_COMPONENTS_H */
diff --git a/Welcome.h b/Welcome.h
index 1a3c21d..8ff74fa 100644
--- a/Welcome.h
+++ b/Welcome.h
@@ -16,6 +16,7 @@ This file includes other header files used in this project.
#include "GLCD_Config.h"
#include "Board_GLCD.h"
#include "Board_LED.h"
+#include "Board_Buttons.h"
//-------------------------------------------------------------------
// defines
diff --git a/Welcome.uvguix.windoofs b/Welcome.uvguix.windoofs
index 58c1b32..2093e04 100644
--- a/Welcome.uvguix.windoofs
+++ b/Welcome.uvguix.windoofs
@@ -11,17 +11,17 @@
38003
Registers
- 140 100
+ 140 90
346
Code Coverage
- 1010 656
+ 1010 160
204
Performance Analyzer
- 352 175 175 964
+ 1170
@@ -30,7 +30,7 @@
35141
Event Statistics
- 250 50 874
+ 200 50 700
1506
@@ -66,7 +66,7 @@
466
Source Browser
500
- 166
+ 300
@@ -106,8 +106,8 @@
0
- 348
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000200000000000000010000003D433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C4D61696E2E6300000000064D61696E2E6300000000C5D4F200FFFFFFFF40433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C57656C636F6D652E68000000000957656C636F6D652E6800000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000094020000
+ 908
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000800000000000000010000003D433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C4D61696E2E6300000000064D61696E2E6300000000C5D4F200FFFFFFFF40433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C57656C636F6D652E68000000000957656C636F6D652E6800000000FFDC7800FFFFFFFF3E433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C617564696F2E630000000007617564696F2E6300000000BECEA100FFFFFFFF3F433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C6D656C6F64792E6300000000086D656C6F64792E6300000000F0A0A100FFFFFFFF3E433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C617564696F2E680000000007617564696F2E6800000000BCA8E100FFFFFFFF3F433A5C55736572735C77696E646F6F66735C4465736B746F705C456D6265646465645F4769745C4D4342313730305F57656C636F6D655C6D656C6F64792E6800000000086D656C6F64792E68000000009CC1B600FFFFFFFF40433A5C4B65696C5F76355C41524D5C5041434B5C4B65696C5C4D444B2D4D6964646C65776172655C372E362E305C426F6172645C426F6172645F474C43442E68000000000C426F6172645F474C43442E6800000000F7B88600FFFFFFFF53433A5C4B65696C5F76355C41524D5C5041434B5C4B65696C5C4C5043313730305F4446505C322E342E305C426F617264735C4B65696C5C4D4342313730305C436F6D6D6F6E5C474C43445F436F6E6669672E68000000000D474C43445F436F6E6669672E6800000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000094020000
@@ -1818,7 +1818,7 @@
Build
998
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000134D434231373630206D6974204C50433137363896000000000000000100134D434231373630206D6974204C504331373638000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000002001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000134D434231373630206D6974204C50433137363896000000000000000100134D434231373630206D6974204C504331373638000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1834,7 +1834,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3602,18 +3602,72 @@
0
.\Main.c
- 0
+ 4
+ 46
+ 67
+ 1
+ 48,71,98,106
+ 0
+
+
+ .\Welcome.h
+ 22
1
- 12
+ 18
1
0
- .\Welcome.h
+ .\audio.c
+ 4
+ 26
+ 150
+ 1
+ 33,110,125
+ 0
+
+
+ .\melody.c
+ 0
+ 22
+ 23
+ 1
+
+ 0
+
+
+ .\audio.h
0
1
- 13
+ 1
+ 1
+
+ 0
+
+
+ .\melody.h
+ 0
+ 1
+ 1
+ 1
+
+ 0
+
+
+ C:\Keil_v5\ARM\PACK\Keil\MDK-Middleware\7.6.0\Board\Board_GLCD.h
+ 0
+ 1
+ 1
+ 1
+
+ 0
+
+
+ C:\Keil_v5\ARM\PACK\Keil\LPC1700_DFP\2.4.0\Boards\Keil\MCB1700\Common\GLCD_Config.h
+ 73
+ 44
+ 45
1
0
diff --git a/Welcome.uvprojx b/Welcome.uvprojx
index e542e43..fe2b070 100644
--- a/Welcome.uvprojx
+++ b/Welcome.uvprojx
@@ -10,7 +10,7 @@
MCB1760 mit LPC1768
0x4
ARM-ADS
- 5060960::V5.06 update 7 (build 960)::.\ARMCC
+ 5060750::V5.06 update 6 (build 750)::ARMCC
0
@@ -185,7 +185,6 @@
0
0
0
- 0
1
0
8
@@ -352,7 +351,7 @@
0
0
0
- 4
+ 0
diff --git a/audio.c b/audio.c
index cf66a9a..5e5ec07 100644
--- a/audio.c
+++ b/audio.c
@@ -147,5 +147,5 @@ void vStartAudio()
LPC_TIM0->MCR = 0x3;
NVIC_SetPriority(TIMER0_IRQn, 1U); // priority
NVIC_EnableIRQ(TIMER0_IRQn);
- LPC_TIM0->TCR = 1; // start
+ LPC_TIM0->TCR = 1; // start music
}