📄 mytcpip.c
字号:
#include "MyLib.h"
extern U8 work[2][12];
extern void Shut_down_form(void);
U8 rbuf[2000];
U32 rlen,netlock;//netlock初始化为0,在Arp_init();
U32 gSendUDP;//arp.c init
U16 gUDP_counter, gUDP_Port, gIP_ident;
U8 gMyIP[4];
U8 gMyPhy[8];
U8 gMyDestIP[4];
U8 disable_shotdown;
struct _CONN conn[MAX_CONN+1];
void Tcpip_check(void)
{
U16 dat;
//U32 i;
disable_shotdown=0;
while((rlen=DM9000_RecvBuf(rbuf))!=0){// 接收到有效的网卡数据//返回实际收到的数据长度
//if((rlen=DM9000_RecvBuf((U32 *)rbuf))!=0){
dat=rbuf[0x0c]+rbuf[0x0d]*0x100;
if(dat==ARP_PACKET)
Arp_receive(rbuf);
else if(dat==IP_PACKET)
IP_receive(rbuf, rlen);
}
if(netlock){//锁定tcpip通信
StateTime=0;
LCD_DisableTimer();
LCD_clear();//清屏
gSendUDP=0;
gMenu=1;
LCD_wcenter(2,work[Language],0);//显示正在工作
while(netlock){
if((rlen=DM9000_RecvBuf(rbuf))!=0){
dat=rbuf[0x0c]+rbuf[0x0d]*0x100;
if(dat==ARP_PACKET)
Arp_receive(rbuf);
else if(dat==IP_PACKET)
IP_receive(rbuf, rlen);
//if(dat==IP_PACKET)
// IP_receive(rbuf, rlen);
}
while(gSendUDP){
Capture_7120(380*276-1);
UDP_SendImg(gMyDestIP);
while((rlen=DM9000_RecvBuf(rbuf))!=0){// 接收到有效的网卡数据
dat=rbuf[0x0c]+rbuf[0x0d]*0x100;
if(*(U16*)(rbuf+0x0C)==ARP_PACKET)
Arp_receive(rbuf);
else if(*(U16*)(rbuf+0x0C)==IP_PACKET)
IP_receive(rbuf, rlen);
}
}
}
LCD_EnableTimer();
LCD_clear();//清屏
FLASH_init();//该写FLASH 时要初始化
LCD_readtime();
LCD_readtime();
gMenu=0;
Sys_t=0;
SlpTime=RCNR;//睡眠时间重新初始化,
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -