第一次写博客,主要是想记录自己过程过程中接触到的知识:
在嵌入式系统中需要用到网络的地方很多,下面是Lwip中实现udp的例子:
#define UDP_DEMO_PORT 8087
struct netif lwip_netif; //定义一个全局的网络接口
int main(void)
{
struct netif *Netif_Init_Flag;
struct ip_addr ipaddr; //ip地址
struct ip_addr netmask; //子网掩码
struct ip_addr gw; //默认网关
struct udp_pcb *udppcb; //定义一个TCP服务器控制块
struct ip_addr rmtipaddr; //远端ip地址
lwip_init();
IP4_ADDR(&ipaddr,192,168,1,xxx); //设置本机IP
IP4_ADDR(&netmask,255,255,255,0);
IP4_ADDR(&gw,192,168,1,1);
Netif_Init_Flag=netif_add(&lwip_netif,&ipaddr,&netmask,&gw,NULL,ðernetif_init,ðernet_input); //添加网口
#ifdef DHCP
dhcp_start(&lwip_netif);
#endif /*DHCP*/
netif_set_default(&lwip_netif); //设置netif为默认网口
netif_set_up(&lwip_netif); //打开netif网口
udppcb=udp_new();
IP4_ADDR(&rmtipaddr, xxx, xxx, xxx, xxx); //设置远端IP
udp_connect(udppcb,&rmtipad