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();