diff --git a/Project/GateWay/MDK/GateWay.uvoptx b/Project/GateWay/MDK/GateWay.uvoptx index 83ea766..2a66b9f 100644 --- a/Project/GateWay/MDK/GateWay.uvoptx +++ b/Project/GateWay/MDK/GateWay.uvoptx @@ -432,9 +432,9 @@ 0 0 - 643 + 568 1 -
55060
+
54318
0 0 0 @@ -443,23 +443,7 @@ 1 ..\source\User\Src\CatOneTask.c - \\GateWay\../source/User/Src/CatOneTask.c\643 -
- - 1 - 0 - 569 - 1 -
54386
- 0 - 0 - 0 - 0 - 0 - 1 - ..\source\User\Src\CatOneTask.c - - \\GateWay\../source/User/Src/CatOneTask.c\569 + \\GateWay\../source/User/Src/CatOneTask.c\568
@@ -503,6 +487,11 @@ 1 CatOne.AtCmd + + 8 + 1 + rstCnt,0x0A + diff --git a/Project/GateWay/source/User/Src/CatOneTask.c b/Project/GateWay/source/User/Src/CatOneTask.c index ed285ef..31e6d46 100644 --- a/Project/GateWay/source/User/Src/CatOneTask.c +++ b/Project/GateWay/source/User/Src/CatOneTask.c @@ -543,6 +543,7 @@ void CatOneLoopHandler(void) case CAT_ONE_DUCH_MODE: Cat1DuchReady = true; + uint16_t rstCnt = 0; while(ChannelIsActive(CatOne.GateWay->ConfigPara, CH_CAT1)) { if(duchRd != duchWr) { uint16_t avail = (duchWr - duchRd) & 0x1FFF; @@ -563,10 +564,13 @@ void CatOneLoopHandler(void) } else { rt_thread_delay(50); } + if(++rstCnt > 12000) { + rstCnt = 0; + CatOne.Cat1Status = CAT_ONE_INIT; + break; + } } - Cat1DuchReady = false; - CatOne.Cat1Status = CAT_ONE_IDEL; - break; + break; case CAT_ONE_OFF: CAT1_RESET_SET();