单片机界联网UIP如何实现tcp与udp协议
UIP是单片机界联网的一个很好地选择,移植这个库有点复杂,首先是第一步,网卡驱动要写好,使用的网卡芯片为ENC28J60,驱动可以再工程包里面找到
//配置网卡硬件,并设置MAC地址
//返回值:0,正常;1,失败;
u8 tapdev_init(u8* macaddr)
{
u8 i,res=0;
res=ENC28J60_Init((u8*)macaddr); //初始化ENC28J60
//把IP地址和MAC地址写入缓存区
for (i = 0; i 《6; i++)uip_ethaddr.addr[i]=macaddr[i];
//指示灯状态:0x476 is PHLCON LEDA(绿)=links status,LEDB(红)=receive/transmit //PHLCON:PHY 模块LED 控制寄存器
ENC28J60_PHY_Write(PHLCON,0x0476);
return res;
}
//读取一包数据
uint16_t tapdev_read(void)
{
return ENC28J60_Packet_Receive(MAX_FRAMELEN,uip_buf);
}
//发送一包数据
void tapdev_send(void)
{
ENC28J60_Packet_Send(uip_len,uip_buf);
}