<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/LearnCH395Q" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
说明
这节演示一下模块使用Socket0作为UDP广播通信
提醒:无论是SPI,USART,并口,程序操作步骤都是一样的!
只是不同的接口发指令发给模块,然后用不同的接收接收数据而已.
测试本节代码(STM32F103xxxx)
1.用户可以使用杜邦线根据自己的情况设置和连接引脚
2,注意!
要想模块使用SPI通信,模块的TX引脚需要在模块重启之前设置为低电平.
上面的引脚分配把模块的TX引脚接到了单片机的PA3上,也就是串口2的RX上,如果用户使用了串口2,请注意!
3.把模块用网线和路由器或者交换机(和上位机在同一个局域网下)
注意,连接路由器或者交换机的时候是连接其LAN口.
4.模块往外发送数据的广播地址为255.255.255.255 端口号为6666
模块接收广播数据的端口号为 1000
5.编译下载到单片机
正常情况会打印模块的IP地址等信息
6.打开电脑端网络调试助手,并配置UDP
IP地址填写广播地址 255.255.255.255
对方地址填写 1000
本机地址填写6666
启动之后每隔3S会接收到模块广播的数据
7,网络调试助手,通过UDP广播发送数据给模块
单片机程序里面设置的接收什么数据就返回什么数据
程序说明
1.初始化UDP
UDP是面向无连接的,所以只需要配置一下.
2.模块连接路由器通信需要启用DHCP,并打印模块分得的地址信息
3.每隔一段时间发送一条广播数据出去
4.在中断检测事件里面处理Socket相关事件(本例中使用的Socket 0)