From a4e23fe2cceddf81846b9efeb2f948c19a9b3493 Mon Sep 17 00:00:00 2001 From: YuanHongbin <975559679@qq.com> Date: Tue, 4 Aug 2026 15:54:56 +0800 Subject: [PATCH] =?UTF-8?q?fix(duch):=20Cat1=20DUCH=E6=A8=A1=E5=BC=8F10?= =?UTF-8?q?=E5=88=86=E9=92=9F=E5=AE=9A=E6=97=B6=E7=A1=AC=E4=BB=B6=E5=A4=8D?= =?UTF-8?q?=E4=BD=8D+LIPOPEN=20AtCmd=E6=AE=8B=E7=95=99=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - DUCH_MODE while循环加复位定时器(12000×50ms=10分钟) - 空闲超时翻转CAT1_RESET引脚复位的模块 - CAT_ONE_LIPOPEN响应OK/LIPOPEN:0,1后重置AtCmd为NULL --- Project/GateWay/MDK/GateWay.uvoptx | 27 ++++++-------------- Project/GateWay/source/User/Src/CatOneTask.c | 10 +++++--- 2 files changed, 15 insertions(+), 22 deletions(-) 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();