📄 lwip_main.c
字号:
//#include "std.h"
//#include "HW_Periph.h"
///#include "HW_func.h"
//#include "sysconf.h"
#include "core/opt.h"
#include "core/mem.h"
#include "core/memp.h"
#include "core/sys.h"
#include "core/stats.h"
#include "core/tcpip.h"
#include "core/loopif.h"
#include "core/ip_addr.h"
#include "core/debug.h"
#include "core/ne2kif.h"
//#include "lwip_main.h"
//#include "tcpecho.h"
//#include "udpecho.h"
/*dy's debug*/
#include "core/snds.h"
/*dy's debug*/
#include "../uhal/uhal.h"
#include "../arm44box/8led.h"
extern OS_EVENT *ConsoleSem;
INT8U K;
/*-----------------------------------------------------------------------------------*/
static void tcpip_init_done(void *arg)
{
sys_sem_t *sem;
sem = arg;
sys_sem_signal(*sem);
}
/*-----------------------------------------------------------------------------------*/
/*-----------------------------------------------------------------------------------*/
void LWIP_main(void *arg)
{
u8_t err;
struct ip_addr ipaddr, netmask, gw;
sys_sem_t sem;
#ifdef STATS
stats_init();
#endif /* STATS */
sys_init();
mem_init();
memp_init();
pbuf_init();
OSSemPend(ConsoleSem,0,&err);
uHALr_printf("==================System initialized.==================\r\n");
OSSemPost(ConsoleSem);
netif_init();
sem = sys_sem_new(0);
tcpip_init(tcpip_init_done, &sem);
sys_sem_wait(sem);
sys_sem_free(sem);
OSSemPend(ConsoleSem,0,&err);
uHALr_printf("==================TCP/IP initialized.==================\r\n");
OSSemPost(ConsoleSem);
IP4_ADDR(&gw, 192,168,0,1);
IP4_ADDR(&ipaddr, 192,168,0,111);
IP4_ADDR(&netmask, 255,255,255,0);
// IP4_ADDR(&gw, 10,0,0,2);
// IP4_ADDR(&ipaddr, 10,0,0,20);
// IP4_ADDR(&netmask, 255,255,255,0);
//netif_set_default(netif_add(&ipaddr, &netmask, &gw, NULL, ethernetif_init,tcpip_input));
netif_set_default(netif_add(&ipaddr, &netmask, &gw, NULL, ne2k_init,tcpip_input));
OSSemPend(ConsoleSem,0,&err);
uHALr_printf("==============Net Interface Attached==============\r\n");
uHALr_printf("==================192.168.0.111===================\r\n");
OSSemPost(ConsoleSem);
/*
tcpecho_init();
shell_init();
httpd_init();
udpecho_init();*/
//这里便是应用程序的创建过程
K=0;
while(1)
{
OSTimeDly(OS_TICKS_PER_SEC);//block every minite
K=!K;
LED8ADDR =(K);
/*dy's debug*/
//IOPDATA= IOPDATA&0x40 ? IOPDATA &(~0x40) : IOPDATA |0x40;
/*dy's debug*/
}
}
/*-----------------------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -