久坐警报器

Dependencies:   mbed

Revision:
1:32df8ff2011e
Parent:
0:76c6ddb1425b
Child:
2:6a50d967a71a
--- a/main.cpp	Sun May 08 14:36:12 2016 +0000
+++ b/main.cpp	Tue May 10 12:05:02 2016 +0000
@@ -1,7 +1,7 @@
 #include "mbed.h"
 #include"time.h"
 
-#define UPA 2000//坐时最大加速度值
+#define UPA 3800//坐时最大加速度值
 
 uint16_t x_a,y_a,z_a;
 bool flag = 0;
@@ -76,21 +76,22 @@
 }
 void buzzerini(void)
 {
-   for (int i=0;i<=11;i++) {
+   for (int i=0;i<=11;i++) 
+   {
        buzzer.period(1/(2*frequency[i])); // 设置PWM周期
        buzzer=0.5; // 设置占空比
        wait(0.4*beat[i]); // 保持节拍周期
-                           }
+    }
 }
 void sit_judgement()
 {   int flag=0;
     clock_t start,end;
     start=clock();
     get_val();
-    while(x_a<=UPA)
+    while(y_a<=UPA)
     {   get_val(); 
         end=clock();
-        if(((double)end-start)/CLK_TCK>30)//坐了30s
+        if(((double)end-start)/CLK_TCK>20)//坐了20s
         {   flag=1;
             break;
             }
@@ -98,6 +99,11 @@
     while(flag)
     {    buzzerini();
          get_val();
+         if(y_a>UPA)
+         {
+            buzzer.period_us(0);
+            break;}
+        
     }
 }
         
@@ -113,7 +119,7 @@
      if(flag)
      {   
          flag=0;
-         wait(1);
+         wait(20);//等站起来后读取判断周期变长
      }
   }
 }
\ No newline at end of file