fix: 修复以太网控制逻辑,调整硬件版本引脚映射

1. 移除main.h中的软硬件版本宏定义,移至bsp.h
2. 新增ETHStop和ETHReset对外接口并实现对应逻辑
3. 注释掉原有的ETH硬件复位延时流程
4. 根据硬件版本适配ETH和CAT1的引脚控制逻辑
5. 清理冗余的CAT1电源引脚宏定义
This commit is contained in:
2026-06-15 15:11:23 +08:00
parent 21cb23d0b9
commit 44e679182d
5 changed files with 40 additions and 11 deletions
+16
View File
@@ -432,6 +432,22 @@
<Bp> <Bp>
<Number>0</Number> <Number>0</Number>
<Type>0</Type> <Type>0</Type>
<LineNumber>1004</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\source\User\Src\Public.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>1006</LineNumber> <LineNumber>1006</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
<Address>0</Address> <Address>0</Address>
@@ -124,6 +124,8 @@ CatOneRetStatus_m CatOneSend(uint8_t *sData, uint16_t sLen);
void CatOneStart(void); void CatOneStart(void);
void CatOneStop(void); void CatOneStop(void);
void CatOneReset(void); void CatOneReset(void);
void ETHStop(void);
void ETHReset(void);
void Cat1DBGOnOff(bool OnOff); void Cat1DBGOnOff(bool OnOff);
void CatOneGetLocationInfo(int *Longitude, int *Latitude); void CatOneGetLocationInfo(int *Longitude, int *Latitude);
void CatOneGetIMEIAndSIM(char *Imei, char *Sim); void CatOneGetIMEIAndSIM(char *Imei, char *Sim);
+9 -5
View File
@@ -10,6 +10,9 @@
#include "rtthread.h" #include "rtthread.h"
#include "ff.h" #include "ff.h"
#define SOFTWARE_VERSION 12
#define HARDWARE_VERSION 12
//#define USE_BOOTLOADER //#define USE_BOOTLOADER
//#define FLASH_SECTOR_SIZE 0x2000ul //#define FLASH_SECTOR_SIZE 0x2000ul
@@ -164,8 +167,14 @@
#define ETH_OR_CAT1_CTRL_PORT (PortB) #define ETH_OR_CAT1_CTRL_PORT (PortB)
#define ETH_OR_CAT1_CTRL_PIN (Pin08) #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 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) #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_PORT (PortH)
//#define ETH_OR_CAT1_TX_CTRL_PIN (Pin02) //#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_CLR() PORT_SetBits(CAT1_RESET_PORT, CAT1_RESET_PIN)
#define CAT1_RESET_SET() PORT_ResetBits(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_PORT (PortB)
#define ETH_RESET_PIN (Pin05) #define ETH_RESET_PIN (Pin05)
#define ETH_RESET_SET() PORT_SetBits(ETH_RESET_PORT, ETH_RESET_PIN) #define ETH_RESET_SET() PORT_SetBits(ETH_RESET_PORT, ETH_RESET_PIN)
-3
View File
@@ -4,9 +4,6 @@
#include "Public.h" #include "Public.h"
#include "DebugCmd.h" #include "DebugCmd.h"
#define SOFTWARE_VERSION 12
#define HARDWARE_VERSION 12
#define MAC_ADDR_TYPE 0//0为测试服务器 #define MAC_ADDR_TYPE 0//0为测试服务器
extern bool MainDispEn; extern bool MainDispEn;
+13 -3
View File
@@ -118,6 +118,16 @@ void CatOneStop(void)
CatOne.Status = CAT_ONE_OFF; 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) void CatOneGetLocationInfo(int *Longitude, int *Latitude)
{ {
if(CatOne.LBSFlag) { if(CatOne.LBSFlag) {
@@ -716,9 +726,9 @@ void EthLoopHandler(void)
case ETH_OFF: case ETH_OFF:
CAT1_DBG_LOG("ETH Power Off!\r\n"); CAT1_DBG_LOG("ETH Power Off!\r\n");
ETH_RESET_CLR(); //ETH_RESET_CLR();
rt_thread_delay(3000); //rt_thread_delay(3000);
ETH_RESET_SET(); //ETH_RESET_SET();
CatOne.EthStatus = ETH_IDEL; CatOne.EthStatus = ETH_IDEL;
CatOne.EthResetDelayCnt = ETH_RESET_DELAY_TIME_MAX; CatOne.EthResetDelayCnt = ETH_RESET_DELAY_TIME_MAX;
break; break;