经过这几天的学习与调试,终于在STM32F103VCT6+W5500(SPI1)+Freemodbus 平台上,实现Modbus-TCP协议的功能。其实很简单,只要熟悉Modbus-RTU通讯,明白Modbus帧的结构等,Modbus-TCP只是在原来的帧结构上加个头,去个尾,然后用TCP传输即可。 关键的内容就是怎样获取W5500新接收的数据包,并发送给Modbus事件状态机驱动协议的执行,数据的处理。 主要参考Freemodbus demo里的Modbus-TCP协议实现的思路,获取缓存区的读写与发送响应。
2014-04-04 00:00:00 376KB STM32 W5500 Modbus-TCP
1
在STM32F103VCT6上调通了W5500的TCP连接通讯的程序。试验方法: 网络调试助手,如:NetAssist.exe 然后,在STM32试验板上连接W5500模块。把W5500网口连接到路由器或是通过交叉线直接连到PC。 然后先ping一下,确认IP等设置好了。 然后打开网络调试助手,协议类型选择:TCP Client,因为STM32+W5500程序为TCP服务端程序。 服务的IP设置为W5500模块的。这里是:192.168.1.128。可以根据需要修改。 效果如下:发了包,发送与接收字节数一样。表明通讯成功。
2014-03-13 00:00:00 329KB STM32F103 W5500 TCP Server
1
在STM32F103VCT6上调通了W5500的TCP连接通讯的程序。原理基于硬件TCP/IP的W5500上实现TCPIP通讯很简单。 电脑上最好设置为静态的IP。程序里要使用这个IP。 在电脑打开网络调试的助手。然后建立TCP server。这里的IP是本机的IP,端口在程序里设置的,如我设置的为:8000 (1)采用交叉网线与电脑直接连接。 (2)采用直联网线通过路由器与电脑连接。
2014-03-12 00:00:00 309KB STM32F103 W5500 TCP Client
1