From 44e679182d7f18f331e5925e0bd7ce8b7d58d629 Mon Sep 17 00:00:00 2001
From: YuanHongbin <975559679@qq.com>
Date: Mon, 15 Jun 2026 15:11:23 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=BB=A5=E5=A4=AA?=
=?UTF-8?q?=E7=BD=91=E6=8E=A7=E5=88=B6=E9=80=BB=E8=BE=91=EF=BC=8C=E8=B0=83?=
=?UTF-8?q?=E6=95=B4=E7=A1=AC=E4=BB=B6=E7=89=88=E6=9C=AC=E5=BC=95=E8=84=9A?=
=?UTF-8?q?=E6=98=A0=E5=B0=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 移除main.h中的软硬件版本宏定义,移至bsp.h
2. 新增ETHStop和ETHReset对外接口并实现对应逻辑
3. 注释掉原有的ETH硬件复位延时流程
4. 根据硬件版本适配ETH和CAT1的引脚控制逻辑
5. 清理冗余的CAT1电源引脚宏定义
---
Project/GateWay/MDK/GateWay.uvoptx | 16 ++++++++++++++++
Project/GateWay/source/User/Inc/CatOneTask.h | 2 ++
Project/GateWay/source/User/Inc/bsp.h | 14 +++++++++-----
Project/GateWay/source/User/Inc/main.h | 3 ---
Project/GateWay/source/User/Src/CatOneTask.c | 16 +++++++++++++---
5 files changed, 40 insertions(+), 11 deletions(-)
diff --git a/Project/GateWay/MDK/GateWay.uvoptx b/Project/GateWay/MDK/GateWay.uvoptx
index 7323d53..740478b 100644
--- a/Project/GateWay/MDK/GateWay.uvoptx
+++ b/Project/GateWay/MDK/GateWay.uvoptx
@@ -432,6 +432,22 @@
0
0
+ 1004
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ..\source\User\Src\Public.c
+
+
+
+
+ 1
+ 0
1006
1
0
diff --git a/Project/GateWay/source/User/Inc/CatOneTask.h b/Project/GateWay/source/User/Inc/CatOneTask.h
index 725f3b9..55102e9 100644
--- a/Project/GateWay/source/User/Inc/CatOneTask.h
+++ b/Project/GateWay/source/User/Inc/CatOneTask.h
@@ -124,6 +124,8 @@ CatOneRetStatus_m CatOneSend(uint8_t *sData, uint16_t sLen);
void CatOneStart(void);
void CatOneStop(void);
void CatOneReset(void);
+void ETHStop(void);
+void ETHReset(void);
void Cat1DBGOnOff(bool OnOff);
void CatOneGetLocationInfo(int *Longitude, int *Latitude);
void CatOneGetIMEIAndSIM(char *Imei, char *Sim);
diff --git a/Project/GateWay/source/User/Inc/bsp.h b/Project/GateWay/source/User/Inc/bsp.h
index 3458932..ac43aa7 100644
--- a/Project/GateWay/source/User/Inc/bsp.h
+++ b/Project/GateWay/source/User/Inc/bsp.h
@@ -10,6 +10,9 @@
#include "rtthread.h"
#include "ff.h"
+#define SOFTWARE_VERSION 12
+#define HARDWARE_VERSION 12
+
//#define USE_BOOTLOADER
//#define FLASH_SECTOR_SIZE 0x2000ul
@@ -164,8 +167,14 @@
#define ETH_OR_CAT1_CTRL_PORT (PortB)
#define ETH_OR_CAT1_CTRL_PIN (Pin08)
+
+#if (HARDWARE_VERSION == 12)
#define ETH_ON() PORT_SetBits(ETH_OR_CAT1_CTRL_PORT, ETH_OR_CAT1_CTRL_PIN)
#define CAT1_ON() PORT_ResetBits(ETH_OR_CAT1_CTRL_PORT, ETH_OR_CAT1_CTRL_PIN)
+#elif (HARDWARE_VERSION >= 13)
+#define ETH_ON() PORT_ResetBits(ETH_OR_CAT1_CTRL_PORT, ETH_OR_CAT1_CTRL_PIN)
+#define CAT1_ON() PORT_SetBits(ETH_OR_CAT1_CTRL_PORT, ETH_OR_CAT1_CTRL_PIN)
+#endif
//#define ETH_OR_CAT1_TX_CTRL_PORT (PortH)
//#define ETH_OR_CAT1_TX_CTRL_PIN (Pin02)
@@ -182,11 +191,6 @@
#define CAT1_RESET_CLR() PORT_SetBits(CAT1_RESET_PORT, CAT1_RESET_PIN)
#define CAT1_RESET_SET() PORT_ResetBits(CAT1_RESET_PORT, CAT1_RESET_PIN)
-//#define CAT1_POW_PORT (PortA)
-//#define CAT1_POW_PIN (Pin00)
-//#define CAT1_POW_ON() PORT_SetBits(CAT1_POW_PORT, CAT1_POW_PIN)
-//#define CAT1_POW_OFF() PORT_ResetBits(CAT1_POW_PORT, CAT1_POW_PIN)
-
#define ETH_RESET_PORT (PortB)
#define ETH_RESET_PIN (Pin05)
#define ETH_RESET_SET() PORT_SetBits(ETH_RESET_PORT, ETH_RESET_PIN)
diff --git a/Project/GateWay/source/User/Inc/main.h b/Project/GateWay/source/User/Inc/main.h
index 7060d46..dc13cee 100644
--- a/Project/GateWay/source/User/Inc/main.h
+++ b/Project/GateWay/source/User/Inc/main.h
@@ -4,9 +4,6 @@
#include "Public.h"
#include "DebugCmd.h"
-#define SOFTWARE_VERSION 12
-#define HARDWARE_VERSION 12
-
#define MAC_ADDR_TYPE 0//0ΪԷ
extern bool MainDispEn;
diff --git a/Project/GateWay/source/User/Src/CatOneTask.c b/Project/GateWay/source/User/Src/CatOneTask.c
index c7605bb..2e5f26b 100644
--- a/Project/GateWay/source/User/Src/CatOneTask.c
+++ b/Project/GateWay/source/User/Src/CatOneTask.c
@@ -118,6 +118,16 @@ void CatOneStop(void)
CatOne.Status = CAT_ONE_OFF;
}
+void ETHStop(void)
+{
+ CatOne.EthStatus = ETH_OFF;
+}
+
+void ETHReset(void)
+{
+ CatOne.EthStatus = ETH_RESET;
+}
+
void CatOneGetLocationInfo(int *Longitude, int *Latitude)
{
if(CatOne.LBSFlag) {
@@ -716,9 +726,9 @@ void EthLoopHandler(void)
case ETH_OFF:
CAT1_DBG_LOG("ETH Power Off!\r\n");
- ETH_RESET_CLR();
- rt_thread_delay(3000);
- ETH_RESET_SET();
+ //ETH_RESET_CLR();
+ //rt_thread_delay(3000);
+ //ETH_RESET_SET();
CatOne.EthStatus = ETH_IDEL;
CatOne.EthResetDelayCnt = ETH_RESET_DELAY_TIME_MAX;
break;