经过这几天的学习与调试,终于在STM32F103VCT6+W5500(SPI1)+Freemodbus平台上,实现Modbus-TCP协议的功能。其实很简单,只要熟悉Modbus-RTU通讯,明白Modbus帧的结构等,Modbus-TCP只是在原来的帧结构上加个头,去个尾,然后用TCP传输即可。关键的内容就是怎样获取W5500新接收的数据包,并发送给Modbus事件状态机驱动协议的执行,数据的处理。主要参考Freemodbusdemo里的Modbus-TCP协议实现的思路,获取缓存区的读写与发送响应。