lwip可以用于发udp_LWIPUDP一对多

本文详细介绍了如何在STM32F767开发板上使用LWIP库实现UDP一对多通信。首先,展示了基本的一对一UDP通信代码,然后重点讲解了一对多模式的实现,其中主机通过接收到的奴隶IP地址建立连接并发送数据。这种方法适用于主机固定IP,奴隶动态IP的场景。
摘要由CSDN通过智能技术生成

最近在STM32F767的开发板上移植了LWIP UDP的代码,开发板的资料里面有介绍LWIP移植的文档,介绍了几种网络通信方式,如TCP server,TCP client,UDP,按照文档里面的介绍也很容易实现。这里我选择的是基于ucos2操作系统的UDP网络通信。 开发板给的demo里面是一对一的模式,2块板子间建立UDP链接,进行网络数据传输。如下图所示:

现在项目需要实现一对多,就是1个host做主机,通过UDP方式连接多个slave,主机的IP地址固定,但slave们的IP地址只有slave本身知道,host不知道各个salve的IP地址,连接方式如下图:

对于,一对一的UDP连接,demo里面给的驱动代码很简单,主要就是几个接口函数。lwip的初始化,还有就是UDP的线程函数。为了方便阅读代码里面省略好多代码,只显示了主要的几个函数。

lwip_comm_init()lwip的初始化

//udp 任务函数

static void udp_thread(void *arg)

{

/* 1. 创建UDP结构,并绑定本地IP地址及端口号 */

udpconn = netconn_new(NETCONN_UDP); //创建一个 UDP 链接

err = netconn_bind(udpconn,IP_ADDR_ANY,UDP_DEMO_PORT);//绑定本地IP地址和端口号

/* 2. 将UDP结构与远端IP地址及端口号进行连接 */<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值