207-ESP32_SDK开发-UDP传输(select方式)

<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnESP32" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/LearnESP32" width="100%"></iframe>

 

下载程序到开发板

1.把这节的代码放到英文目录

207-ESP32_SDK开发-UDP传输(select方式)

 

 

2.鼠标右键选择使用VScode打开

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

3.设置对方的IP地址和端口号

207-ESP32_SDK开发-UDP传输(select方式)

 

 

4.注意,如果设置的地址是域名,因为需要DNS把域名解析成IP,所以需要设置一下连接的路由器

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

5.下载测试

现在是发送给UDP什么,UDP就回复什么

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

程序使用说明(先说下如何使用)

1.如果用户需要移植使用的话直接把下面的文件放到自己的工程里面就可以

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

2.配置一下

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

207-ESP32_SDK开发-UDP传输(select方式)

 

 

3.关于 udp_socket_select_task_init 函数

207-ESP32_SDK开发-UDP传输(select方式)

 

 

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

4.接收和发送数据

如果在接收回调函数里面发送直接调用下面的函数就可以

第一个参数 tcp_client.socket_fd固定,后面分别是发送的数据和数据长度,再后面的也是固定的

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

假设把串口接收的数据发送给UDP,  ,引用一下 udp_client 变量

207-ESP32_SDK开发-UDP传输(select方式)

 

 

207-ESP32_SDK开发-UDP传输(select方式)

 

 

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 

程序说明

1.程序是封装的,先按照固定步骤编写程序

207-ESP32_SDK开发-UDP传输(select方式)

 

 

 207-ESP32_SDK开发-UDP传输(select方式)

 

 

2.启动任务

207-ESP32_SDK开发-UDP传输(select方式)

 

 

3.如果需要解析域名,则等待连接上路由器

207-ESP32_SDK开发-UDP传输(select方式)

 

 

4.创建 和 绑定 socket ,然后进入select函数阻塞等待数据

提示一点: 其实也可以调用 connect, 只不过内部并不是去连接, 而是lwip内部把UDP的信息记录了, 后面就可以使用 read 进行UDP数据接收

207-ESP32_SDK开发-UDP传输(select方式)

 

 

5.接收数据并调用回调函数

207-ESP32_SDK开发-UDP传输(select方式)

 

上一篇:ESP32系列博文目录


下一篇:esp32基于BLE的OTA升级