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;