应用例程:以太网UDP消息的自由发送与接收(基于W5500模块)基本信息通过两块STM32F103RCT6核心板,演示如何通过UDP消息进行数据的发送与接收。核心板B采集电位器的数据,转换为电压后,通过UDP消息发送到核心板A,核心板A接收到数据后,将数据通过OLED屏显示出来。 视频下载暂无 实验硬件STM32F103RCT6核心板(2块)[ 购买 ]: CH340E通讯小板(2块)[ 购买 ]: Micro-USB通讯线(2根)[ 购买 ]: OLED屏SSD1306(1块)[ 购买 ]: 可调电位器模块(1块)[ 购买 ]: W5500以太网通讯模块(2块)[ 购买 ]: 电路参考
关键配置说明为了简化,这里STM32F103xC核心板A与核心板B采用同一套硬件配置。 添加Tcp蓝图,在蓝图中添加TCP/IP通讯管理模块TcpIp、TCP/IP底层驱动W5500_TcpIpL。需要注意的时,OLED屏与W5500模块分时复用同一路SPI通讯,SPI通讯部分采用OLED屏的配置。 选择模块W5500_TcpIpL,在配置节点LocalAddr中,添加本地物理网卡LocalAddr0,使用的SPI通讯设备为Device0,W5500芯片的复位脚连接到单片机的PA6。网卡默认的IP地址配置为192.168.1.110。 选择模块Spi,在配置节点Job中(通讯任务),查看系统自动添加的通讯任务W5500_TcpIpL_LocalAddr0_SpiJob,将片选管脚设置为PA7。 选择模块TcpIp,在配置节点LocalAddr中,添加本地网卡LocalAddr0,使用W5500_TcpIpL模块中的物理网卡LocalAddr0。 选择模块TcpIp_Fe,在配置节点Port中,添加用户端口Port0。Port0会在TcpIp模块中的本地网卡LocalAddr0中自动创建一个网络连接TcpIp_Fe_Port0_Socket。 A/D转换器、OLED屏的配置可以参考以下两个例程: 应用程序梯形图(核心板A,接收并显示)NETWORK 0 用SM0.0保持以太网连接,并设置连接Port0的端口为3308
NETWORK 1 用SM0.0驱动UDP消息接收任务,一旦任务完成,下一个周期立即重新开启接收
NETWORK 2 当接收任务完成且没有错误时,统计总的报文和有效报文
液晶屏配置(核心板A,接收并显示)梯形图(核心板B,采集并发送)NETWORK 0 用SM0.0保持以太网连接,并设置连接Port0的端口为3308
NETWORK 1 获取AIW0的变化情况,保存到变量VW2
NETWORK 2 如果不在发送冷却时间内,且数据变化大于4,则更新VW0,并设置因为数据变化需要发送的请求M0.0
NETWORK 3 如果不在发送冷却时间内,且超过1秒没有发送过数据了,设置因为超时需要发送的请求M0.1
NETWORK 4 若有发送请求M0.0或者是M0.1,处理下数据然后启动发送任务
NETWORK 5 统计发送成功的次数
系统块配置(核心板B,采集并发送)核心板A采用默认配置,IP地址为192.168.1.110。为了核心板A和核心板B地址不冲突,需要在系统快中将核心板B的IP地址修改为192.168.1.111。系统块配置必须在下载到核心板,重新上电后才能生效!
实验步骤
指令说明相关下载
|