CH579M以太網(wǎng)斷開重連時間長

TCP client 連接電腦起的Server


Server主動下發(fā)4000多字節(jié)數(shù)據(jù),client收到后返還給server


然后關(guān)閉server,此時client打印disconnect


電腦再次打開server? client會一直提示timeout? 大概2分鐘后連接成功


請問這種情況需要如何處理?


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

看下芯片這邊的打印狀態(tài),是不是卡在什么狀態(tài)異常里面了。


#include "ETH.h"


#include "FreeRTOS.h"

#include "task.h"?

#include "event_groups.h"


#include "CH57xNET.h"

#include "uart.h"


#define KEEPLIVE_ENABLE? ? ? ? ? ? ? ? ? ? ? 1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 開啟KEEPLIVE功能 */


/* 下面的緩沖區(qū)和全局變量必須要定義,庫中調(diào)用 */

__align(16)UINT8? ? CH57xMACRxDesBuf[(RX_QUEUE_ENTRIES )*16];? ? ? ? ? ? ? ? ? ?/* MAC接收描述符緩沖區(qū),16字節(jié)對齊 */

__align(4) UINT8? ? CH57xMACRxBuf[RX_QUEUE_ENTRIES*RX_BUF_SIZE];? ? ? ? ? ? ? ? /* MAC接收緩沖區(qū),4字節(jié)對齊 */

__align(4) SOCK_INF SocketInf[CH57xNET_MAX_SOCKET_NUM];? ? ? ? ? ? ? ? ? ? ? ? ?/* Socket信息表,4字節(jié)對齊 */


UINT16 MemNum[8] = {CH57xNET_NUM_IPRAW,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_UDP,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_TCP,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_TCP_LISTEN,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_TCP_SEG,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_IP_REASSDATA,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_PBUF,

? ? ? ? ? ? ? ? ? ? CH57xNET_NUM_POOL_BUF

? ? ? ? ? ? ? ? ? ? };

?UINT16 MemSize[8] = {CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_IPRAW_PCB),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_UDP_PCB),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_TCP_PCB),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_TCP_PCB_LISTEN),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_TCP_SEG),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_IP_REASSDATA),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_PBUF) + CH57xNET_MEM_ALIGN_SIZE(0),

? ? ? ? ? ? ? ? ? ? CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_PBUF) + CH57xNET_MEM_ALIGN_SIZE(CH57xNET_SIZE_POOL_BUF)

? ? ? ? ? ? ? ? ? ? };

__align(4)UINT8 Memp_Memory[CH57xNET_MEMP_SIZE];

__align(4)UINT8 Mem_Heap_Memory[CH57xNET_RAM_HEAP_SIZE];

__align(4)UINT8 Mem_ArpTable[CH57xNET_RAM_ARP_TABLE_SIZE];

/******************************************************************************/

/* 本演示程序的相關(guān)宏 */

#define RECE_BUF_LEN? ? ? ? ? ? ? ? ? ? ? ? ? 536? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 接收緩沖區(qū)的大小 */

/* CH57xNET庫TCP的MSS長度為536字節(jié),即一個TCP包里的數(shù)據(jù)部分最長為536字節(jié) */

/* TCP協(xié)議棧采用滑動窗口進行流控,窗口最大值為socket的接收緩沖區(qū)長度。在設(shè)定 */

/* RX_QUEUE_ENTRIES時要考慮MSS和窗口之間的關(guān)系,例如窗口值為4*MSS,則遠端一次會發(fā)送 */

/* 4個TCP包,如果RX_QUEUE_ENTRIES小于4,則必然會導(dǎo)致數(shù)據(jù)包丟失,從而導(dǎo)致通訊效率降低 */

/* 建議RX_QUEUE_ENTRIES要大于( 窗口/MSS ),如果多個socket同時進行大批量發(fā)送數(shù)據(jù),則 */?

/* 建議RX_QUEUE_ENTRIES要大于(( 窗口/MSS )*socket個數(shù)) 在多個socket同時進行大批數(shù)據(jù)收發(fā)時 */

/* 為了節(jié)約RAM,請將接收緩沖區(qū)的長度設(shè)置為MSS */


/* CH579相關(guān)定義 */

UINT8 MACAddr[6] = {0x84,0xc2,0xe4,0x02,0x03,0x04};? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* CH579MAC地址 */

UINT8 IPAddr[4] = {192,168,1,200};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* CH579IP地址 */

UINT8 GWIPAddr[4] = {192,168,1,1};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* CH579網(wǎng)關(guān) */

UINT8 IPMask[4] = {255,255,255,0};? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* CH579子網(wǎng)掩碼 */

//UINT8 ServerIP[4] = {183,11,220,164};

UINT8 ServerIP[4] = {192,168,10,3};

/* 網(wǎng)口燈定義 PB口低十六位有效 */

UINT16 CH57xNET_LEDCONN=0x0010;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 連接指示燈 PB4 */

UINT16 CH57xNET_LEDDATA=0x0080;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 通訊指示燈 PB7 */?


UINT8 SocketId;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 保存socket索引,可以不用定義 */

UINT8 SocketRecvBuf[RECE_BUF_LEN];? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* socket接收緩沖區(qū) */

UINT8 MyBuf[RECE_BUF_LEN];? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 定義一個臨時緩沖區(qū) */


BOOL TCP_Connect_Status = FALSE;


void ETH_Task(void *pdata);


static TimerHandle_t ETH_Timer = NULL;


void ETH_IRQHandler( void )? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 以太網(wǎng)中斷 */

{

CH57xNET_ETHIsr();? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 以太網(wǎng)中斷中斷服務(wù)函數(shù) */

}



void ETH_Timer_callback(void *pdata)

{

? (void)pdata;

? CH57xNET_TimeIsr(CH57xNETTIMEPERIOD);

}


/*******************************************************************************

* Function Name? : CH57xNET_CreatTcpSocket

* Description? ? : 創(chuàng)建TCP Client socket

* Input? ? ? ? ? : None

* Output? ? ? ? ?: None

* Return? ? ? ? ?: None

*******************************************************************************/

void CH57xNET_CreatTcpSocket(char* ip,int port)

{

? ?UINT8 ret;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ?SOCK_INF TmpSocketInf;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 創(chuàng)建臨時socket變量 */

? ?memset((void *)&TmpSocketInf,0,sizeof(SOCK_INF));? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 庫內(nèi)部會將此變量復(fù)制,所以最好將臨時變量先全部清零 */

? ?memcpy((void *)TmpSocketInf.IPAddr,ip,4);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 設(shè)置目的IP地址 */

? ?

? ?TmpSocketInf.DesPort = port;? ? ? ? ? ? ? ? ? ? ?

? ?TmpSocketInf.SourPort = 2000;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 設(shè)置源端口 */

? ?TmpSocketInf.ProtoType = PROTO_TYPE_TCP;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置socekt類型 */

? ?TmpSocketInf.RecvStartPoint = (UINT32)SocketRecvBuf;? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置接收緩沖區(qū)的接收緩沖區(qū) */

? ?TmpSocketInf.RecvBufLen = RECE_BUF_LEN ;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 設(shè)置接收緩沖區(qū)的接收長度 */

? ?ret = CH57xNET_SocketCreat(&SocketId,&TmpSocketInf);? ? ? ? ? ? ? ? ? ? ? ? ?/* 創(chuàng)建socket,將返回的socket索引保存在SocketId中 */

? ?APP_DEBUG("CH57xNET_SocketCreat:%s",(ret == CH57xNET_ERR_SUCCESS)?"OK":"ERROR");

#ifdef? KEEPLIVE_ENABLE

? ?//CH57xNET_SocketSetKeepLive( SocketId, 1 );? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 開啟socket的KEEPLIVE功能(V06版本支持) */

#endif


? ?ret = CH57xNET_SocketConnect(SocketId);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* TCP連接 */

? ?APP_DEBUG("CH57xNET_SocketConnect:%s",(ret == CH57xNET_ERR_SUCCESS)?"OK":"ERROR");? ? ? ? ? ??

? ?//ret = CH57xNET_SetSocketTTL( SocketId,128 );

? ?//APP_DEBUG("CH57xNET_SetSocketTTL:%s",(ret == CH57xNET_ERR_SUCCESS)?"OK":"ERROR");?

}


/*******************************************************************************

* Function Name? : CH57xNET_HandleSockInt

* Description? ? : Socket中斷處理函數(shù)

* Input? ? ? ? ? : sockeid? socket索引

*? ? ? ? ? ? ? ? :initstat 中斷狀態(tài)

* Output? ? ? ? ?: None

* Return? ? ? ? ?: None

*******************************************************************************/

void CH57xNET_HandleSockInt(UINT8 sockeid,UINT8 initstat)

{

? ? UINT32 len;

//? ? UINT32 totallen;

? ? UINT8 *p = MyBuf;


? ? if(initstat & SINT_STAT_RECV)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 接收中斷 */

? ? {

? ? ? ? len = CH57xNET_SocketRecvLen(sockeid,NULL);? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 查詢長度 */

? ? ? ? APP_DEBUG("Receive Len = %d",len);? ? ? ? ? ? ? ? ? ? ? ? ? ?

//? ? ? ? totallen = len;

? ? ? ? CH57xNET_SocketRecv(sockeid,MyBuf,&len);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 將接收緩沖區(qū)的數(shù)據(jù)讀到MyBuf中*/

? ? ? ? CH57xNET_SocketSend(sockeid,p,&len);?

//? ? ? ? while(1)

//? ? ? ? {

//? ? ? ? ? ?len = totallen;

//? ? ? ? ? ?CH57xNET_SocketSend(sockeid,p,&len);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 將MyBuf中的數(shù)據(jù)發(fā)送 */

//? ? ? ? ? ?totallen -= len;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 將總長度減去以及發(fā)送完畢的長度 */

//? ? ? ? ? ?p += len;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 將緩沖區(qū)指針偏移*/

//? ? ? ? ? ?if(totallen)continue;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 如果數(shù)據(jù)未發(fā)送完畢,則繼續(xù)發(fā)送*/

//? ? ? ? ? ?break;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 發(fā)送完畢,退出 */

//? ? ? ? }

? ? }

? ? if(initstat & SINT_STAT_CONNECT)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* TCP連接中斷 */

? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 產(chǎn)生此中斷表示TCP已經(jīng)連接,可以進行收發(fā)數(shù)據(jù) */

? ? ? ? APP_DEBUG("TCP Connect Success");? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? }

? ? if(initstat & SINT_STAT_DISCONNECT)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* TCP斷開中斷 */

? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 產(chǎn)生此中斷,CH579庫內(nèi)部會將此socket清除,置為關(guān)閉*/

? ? ? ? APP_DEBUG("TCP Disconnect:%d",SocketId);

? ? ? ? TCP_Connect_Status = TRUE;

? ? }

? ? if(initstat & SINT_STAT_TIM_OUT)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* TCP超時中斷 */

? ? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 產(chǎn)生此中斷,CH579庫內(nèi)部會將此socket清除,置為關(guān)閉*/

? ? ? ? APP_DEBUG("TCP Connect Timout");??

? ? ? ? TCP_Connect_Status = TRUE;

? ? }

}


UINT8 CH57xNET_DHCPCallBack(UINT8 status,void *arg)

{

? ?UINT8 *p;

? ?

? ?if(!status){? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 成功*/

? ? ? ?p = arg;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 產(chǎn)生此中斷,CH57xNET庫內(nèi)部會將此socket清除,置為關(guān)閉*/

? ? ? ?APP_DEBUG("DHCP Success");

? ? ? ?memcpy(IPAddr,p,4);

? ? ? ?memcpy(GWIPAddr,&p[4],4);

? ? ? ?memcpy(IPMask,&p[8],4);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 產(chǎn)生此中斷,CH57xNET庫內(nèi)部會將此socket清除,置為關(guān)閉*/

? ? ? ?APP_DEBUG("IPAddr = %d.%d.%d.%d",(UINT16)IPAddr[0],(UINT16)IPAddr[1],

? ? ? ? ? ? ? (UINT16)IPAddr[2],(UINT16)IPAddr[3]);

? ? ? ?APP_DEBUG("GWIPAddr = %d.%d.%d.%d",(UINT16)GWIPAddr[0],(UINT16)GWIPAddr[1],

? ? ? ? ? ? ? (UINT16)GWIPAddr[2],(UINT16)GWIPAddr[3]);

? ? ? ?APP_DEBUG("IPAddr = %d.%d.%d.%d",(UINT16)IPMask[0],(UINT16)IPMask[1],

? ? ? ? ? ? ? (UINT16)IPMask[2],(UINT16)IPMask[3]);

? ? ? ?APP_DEBUG("DNS1: %d.%d.%d.%d",p[12],p[13],p[14],p[15]);

? ? ? ?APP_DEBUG("DNS2: %d.%d.%d.%d",p[16],p[17],p[18],p[19]);

? ? ? ?TCP_Connect_Status = TRUE;

? ?}

? ?else{?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 產(chǎn)生此中斷,CH57xNET庫內(nèi)部會將此socket清除,置為關(guān)閉*/

? ? ? APP_DEBUG("DHCP Fail %02x\n",status);

? ?}? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

? ?return 0;

}

/*******************************************************************************

* Function Name? : CH57xNET_HandleGloableInt

* Description? ? : 全局中斷處理函數(shù)

* Input? ? ? ? ? : None

* Output? ? ? ? ?: None

* Return? ? ? ? ?: None

*******************************************************************************/

void CH57xNET_HandleGlobalInt(void)

{

? ? UINT8 initstat;

? ? UINT8 i;

? ? UINT8 socketinit;

? ? initstat = CH57xNET_GetGlobalInt();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 讀全局中斷狀態(tài)并清除 */

? ? if(initstat & GINT_STAT_UNREACH)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 不可達中斷 */

? ? {

? ? ? ? APP_DEBUG("UnreachCode :%d",CH57xInf.UnreachCode);? ? ? ? ? ? ? ? ? ? ? ?/* 查看不可達代碼 */

? ? ? ? APP_DEBUG("UnreachProto :%d",CH57xInf.UnreachProto);? ? ? ? ? ? ? ? ? ? ?/* 查看不可達協(xié)議類型 */

? ? ? ? APP_DEBUG("UnreachPort :%d",CH57xInf.UnreachPort);? ? ? ? ? ? ? ? ? ? ? ?/* 查詢不可達端口 */? ? ? ?

? ? }

? ?if(initstat & GINT_STAT_IP_CONFLI)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* IP沖突中斷 */

? ?{

? ?

? ?}

? ?if(initstat & GINT_STAT_PHY_CHANGE)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* PHY改變中斷 */

? ?{

? ? ? ?i = CH57xNET_GetPHYStatus();? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 獲取PHY狀態(tài) */

? ? ? ?if(i > 1)

? ? ? ?{

? ? ? ? ? CH57xNET_DHCPStart(CH57xNET_DHCPCallBack);

? ? ? ?}

? ? ? ?else

? ? ? ?{

? ? ? ? ? CH57xNET_DHCPStop();

? ? ? ?}

? ? ? ?APP_DEBUG("GINT_STAT_PHY_CHANGE %02x",i);

? ?}

? ?if(initstat & GINT_STAT_SOCKET)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* Socket中斷 */

? ?{

? ? ? ?for(i = 0; i < CH57xNET_MAX_SOCKET_NUM; i ++)? ? ? ? ? ? ? ? ? ? ?

? ? ? ?{

? ? ? ? ? ?socketinit = CH57xNET_GetSocketInt(i);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 讀socket中斷并清零 */

? ? ? ? ? ?if(socketinit)

? ? ? ? ? ?{

? ? ? ? ? ? ?CH57xNET_HandleSockInt(i,socketinit);? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 如果有中斷則清零 */

? ? ? ? ? ?}

? ? ? ?}? ??

? ?}

}


void net_initkeeplive(void)

{

? ? struct _KEEP_CFG? klcfg;


? ? klcfg.KLIdle = 10000;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 空閑 */

? ? klcfg.KLIntvl = 10000;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 間隔 */

? ? klcfg.KLCount = 2;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /* 次數(shù) */

? ? CH57xNET_ConfigKeepLive(&klcfg);

}


void Bsp_ETH_init(void)

{

? char ret = 0;

? struct _CH57x_CFG cfg;

? if(CH57xNET_GetVer() != CH57xNET_LIB_VER)return;? ? ? ? ? ? ? ? ? ? ? ?/* 獲取庫的版本號,檢查是否和頭文件一致 */

? CH57xNETConfig = LIB_CFG_VALUE;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/* 將配置信息傳遞給庫的配置變量 */

? cfg.RxBufSize = RX_BUF_SIZE;?

? cfg.TCPMss? ?= CH57xNET_TCP_MSS;

? cfg.HeapSize = CH57x_MEM_HEAP_SIZE;

? cfg.ARPTableNum = CH57xNET_NUM_ARP_TABLE;

? cfg.MiscConfig0 = CH57xNET_MISC_CONFIG0;

? CH57xNET_ConfigLIB(&cfg);

??

? ret = CH57xNET_Init(IPAddr,GWIPAddr,IPMask,MACAddr);

? net_initkeeplive();

? APP_DEBUG("CH57xNET_Init:%s",(ret == CH57xNET_ERR_SUCCESS)?"OK":"ERROR");??

? if(ret == CH57xNET_ERR_SUCCESS)

? {

? ? ETH_Timer = xTimerCreate("ETH_Timer",10,pdTRUE,(void*)0,ETH_Timer_callback);

? ? if(ETH_Timer != NULL)

? ? {

? ? ? xTimerStart(ETH_Timer,10);

? ? }

? ? xTaskCreate(ETH_Task, "ETH_Task", 1024, NULL, 1, NULL );

? }

? NVIC_EnableIRQ(ETH_IRQn);

}


void ETH_Task(void *pdata)

{

? (void)pdata;

? vTaskDelay(100);

? while(1)

? {

? ? CH57xNET_MainTask();

? ? if(CH57xNET_QueryGlobalInt())

? ? {

? ? ? CH57xNET_HandleGlobalInt();

? ? }

? ? if(TCP_Connect_Status == TRUE)

? ? {

? ? ? TCP_Connect_Status = FALSE;

? ? ? CH57xNET_CreatTcpSocket((char*)ServerIP,8080);?

? ? }

? ? vTaskDelay(1);

? }

}



上述代碼是按照官方demo改的

附件中提供了log以及時間


不知道是配置問題還是什么問題 請指教

icon_rar.gifCH579_Log.rar



只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频