clock

Dependencies:   mbed

Revision:
1:013b9fdc4e78
Parent:
0:17e9016529cf
Child:
2:e54d9d87c6cb
diff -r 17e9016529cf -r 013b9fdc4e78 myScope/myclosenr.cpp
--- a/myScope/myclosenr.cpp	Tue May 08 02:13:50 2018 +0000
+++ b/myScope/myclosenr.cpp	Sat May 12 03:03:14 2018 +0000
@@ -1,4 +1,5 @@
 #include "myclosenr.h"
+#include "myclodriv.h"
 
 int cloSAct::gsstpSe=0; int cloSAct::gmstpSe=0; int cloSAct::tick2cnt=0;
 /*****************************
@@ -70,12 +71,12 @@
     if(tim->tm_hour==11&&tim->tm_min==45){
         know::TestO_S=0;
         know::TestO_M=1;                              //分针检测输出引脚置
-        know::polSta[6]=2;                               //putopenS
+        know::polSta[42]="2";                               //putopenS
     }
     else if(tim->tm_sec==50&&(tim->tm_min==15|| tim->tm_min ==25||tim->tm_min ==35)){
         know::TestO_M=0;
-        know::TestO_S =1;                             //秒针检测输出引脚置高
-        know::polSta[6]=3;   //putopenS
+        know::TestO_S=1;                             //秒针检测输出引脚置高
+        know::polSta[42]="3";   //putopenS
     } 
 
     if(tim->tm_sec==10) {                           //关闭秒光耦
@@ -101,7 +102,7 @@
     switch(know::TestIn.read()){
         case 0:
             if(gsstpSe>=6&&gsstpSe<=128){
-                know::TestO_S =0;                         //关闭秒光耦
+                know::TestO_S=0;                         //关闭秒光耦
                 judg_sec();                             //判断校准方式(停,正常)
             }
         break;
@@ -120,8 +121,8 @@
     time_t seconds=time(NULL);
     tim=localtime(&seconds);
  
-    if(tim->tm_sec!=56) know::polSta[3]=1;                        //getsecS
-    else know::polSta[3]=2;                                        //getsecS  return =55正常
+    if(tim->tm_sec!=56) know::polSta[40]="1";                        //getsecS
+    else know::polSta[40]="2";                                        //getsecS  return =55正常
 }  
 
 /*****************************
@@ -155,9 +156,9 @@
 
     tim->tm_hour=tim->tm_hour%12;
     
-    if(tim->tm_hour==11&&tim->tm_min==54)  know::polSta[7]="2";                             //getminS 正常
-    else if(tim->tm_hour==11&&tim->tm_min<54&&tim->tm_min>=49)  know::polSta[7]="1";        //getminS; 停
-    else know::polSta[7]="3";                                                               //getminS  追
+    if(tim->tm_hour==11&&tim->tm_min==54)  know::polSta[41]="2";                             //getminS 正常
+    else if(tim->tm_hour==11&&tim->tm_min<54&&tim->tm_min>=49)  know::polSta[41]="1";        //getminS; 停
+    else know::polSta[41]="3";                                                               //getminS  追
 } 
 
 /*****************************
@@ -167,8 +168,8 @@
 *****************************/ 
 void cloSAct::isr_systick1(void)
 {
-    //cloDAct::put_snorm();
-    //cloDAct::put_mnorm();
+    cloDAct::put_snorm();
+    cloDAct::put_mnorm();
 }
     
 /*****************************
@@ -180,19 +181,19 @@
 {
     put_open();                                                                 //判断是否开/关秒、分光耦
 
-    if(know::polSta[7]=="2"&&know::polSta[47]=="0") know::time3.attach_us(&isr_systick3,15625); //putsecS,定时器3打开,运行其中的秒检测
-   
-    if(know::polSta[7]=="3") {
-        get_min();
-        if(know::polSta[9]=="1"||know::polSta[9]=="3"){                                                    //getminS
+    if(know::polSta[42]=="2"&&know::polSta[47]=="0") know::time3.attach_us(&isr_systick3,15625); //putsecS,定时器3打开,运行其中的秒检测
+
+    if(know::polSta[42]=="3") {                                                 //检测分
+        get_min();                                                              
+        if(know::polSta[41]=="1"||know::polSta[41]=="3") {                           //getminS
             know::time1.attach_us(0,15625);                                          //停或者追都关闭定时器1
-            if(know::polSta[9]=="3"&&know::polSta[47]=="0") know::time3.attach_us(&isr_systick3,15625);  //打开定时器3,运行其中的分追
-            if(know::polSta[9]=="1"&&know::polSta[11]=="0"){                                            //put mstop S
-                cloDAct::put_mstop();   
-                if(know::polSta[11]=="1"){                                                       //停分针结束
-                    know::polSta[7]="0";                                                            //状态复位
-                    know::polSta[9]="0";    
-                    know::polSta[11]="0";
+            if(know::polSta[41]=="3"&&know::polSta[47]=="0") know::time3.attach_us(&isr_systick3,15625);  //打开定时器3,运行其中的分追
+            if(know::polSta[41]=="1"&&know::polSta[29]=="0") {                                           //put mstop S
+                cloDAct::put_mstop();
+                if(know::polSta[29]=="1") {                                                      //停分针结束
+                    know::polSta[29]="0";                                                        //状态复位
+                    know::polSta[41]="0";
+                    know::polSta[42]="0";
                     know::time1.attach_us(&isr_systick1,15625);
                     know::time3.attach_us(0,15625);                                  //任务互斥,关闭定时器3
                     know::polSta[47]="0";
@@ -201,12 +202,12 @@
         }
     }
 
-    know::polSta[15]="1";                                     //state of step 
+    know::polSta[15]="1";                                     //state of step
 
     tick2cnt++;
-    if(tick2cnt>=20){
+    if(tick2cnt>=20) {
         tick2cnt=0;
-        know::polSta[16]="1";                                     //state of tick2S
+        know::polSta[46]="1";                                     //state of tick2S
     }
     if(tick2cnt>=40) tick2cnt=0;
 
@@ -221,30 +222,30 @@
 {
     know::polSta[47]="1";
 
-    if(know::polSta[7]=="1"&& know::polSta[5]=="0") get_sec();              //putsecS,getsecS
+    if(know::polSta[42]=="1"&& know::polSta[40]=="0") get_sec();              //putsecS,getsecS
 
-    if(know::polSta[3]=="1"&& know::polSta[8]=="0"){                   //getsecS, putsstopS
+    if(know::polSta[40]=="1"&& know::polSta[28]=="0"){                   //getsecS, putsstopS
         know::time1.attach_us(0,15625);
         cloDAct::put_sstop();                           //停止秒针
-        if(know::polSta[8]=="1"){                               //校秒结束
-            know::polSta[8]="0";                                 //状态复位
-            know::polSta[7]="0";
-            know::polSta[3]="0";
+        if(know::polSta[28]=="1"){                               //校秒结束
+            know::polSta[28]="0";                                 //状态复位
+            know::polSta[40]="0";
+            know::polSta[42]="0";
+            know::polSta[47]="0";
             know::time1.attach_us(&isr_systick1,15625);
             know::time3.attach_us(0,15625); 
-            know::polSta[47]="0";
         }
     } 
        
-    if(know::polSta[9]=="3"&&know::polSta[12]=="0"){                    // getminS, putmchasS分针追针
+    if(know::polSta[41]=="3"&&know::polSta[27]=="0"){                    // getminS, putmchasS分针追针
         cloDAct::put_mchas();     
-        if(know::polSta[12]=="1"){                              //追分完成
-            know::polSta[12]="0";                                //状态复位
-            know::polSta[9]="0";
-            know::polSta[7]="0";    
+        if(know::polSta[27]=="1"){                              //追分完成
+            know::polSta[27]="0";                                //状态复位
+            know::polSta[41]="0";
+            know::polSta[42]="0";
+            know::polSta[47]="0";    
             know::time1.attach_us(&isr_systick1,15625);
-            know::time3.attach_us(0,15625); 
-            know::polSta[47]="0";
+            know::time3.attach_us(0,15625);
         }
     }
 }