![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
clock
Diff: myScope/myclosenr.cpp
- Revision:
- 1:013b9fdc4e78
- Parent:
- 0:17e9016529cf
- Child:
- 2:e54d9d87c6cb
--- 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); } } }