1stm32界说常量不要code关键字
//界说全1地址常量
staticconstuip_ipaddr_tcodeall_ones_addr=
#ifUIP_CONF_IPV6
{0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff,0xffff};
#else/*UIP_CONF_IPV6*/
{0xffff,0xffff};
#endif/*UIP_CONF_IPV6*/
//界说全0地址常量
staticconstuip_ipaddr_tcodeall_zeroes_addr=
#ifUIP_CONF_IPV6
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000};
#else/*UIP_CONF_IPV6*/
{0x0000,0x0000};
#endif/*UIP_CONF_IPV6*/
2为两个回调函数界说函数实体
#defineUIP_APPCALL()uip_appcall() //宏界说注册回调函数
#defineUIP_UDP_APPCALL()uip_udp_appcall()//宏界说注册回调函数
voiduip_appcall(void)
{
}
voiduip_udp_appcall(void)
{
}
3MDK环境下空指令函数修正
而且不要#include
//_nop_();
__nop();//在MDK环境下是__nop();
4为uip供给周期时钟
5修正巨细端装备
51是大端,stm32是小端
#defineUIP_CONF_BYTE_ORDERUIP_LITTLE_ENDIAN//51是大端,stm32是小端
在uip_conf.h文件中
6修正类型界说
typedefunsignedshortintu16_t;//和C51有点不同也是在uip_conf.h文件中
7初始化TCP/IP通讯有必要用到的参数
uip在运转过程中不会再去查询网卡的mac地址,
所以开端就要初始化mac地址
uip_ipaddr(uip_hostaddr,192,168,1,198);
uip_ipaddr(uip_draddr,192,168,1,100);
uip_ipaddr(uip_netmask,255,255,255,0);
uip_ethaddr.addr[0]=0x00;
uip_ethaddr.addr[1]=0x0C;
uip_ethaddr.addr[2]=0x29;
uip_ethaddr.addr[3]=0xD2;
uip_ethaddr.addr[4]=0x58;
uip_ethaddr.addr[5]=0x6B;