RT-Thread+W5500+freemodbus+TCP通信

最近在调一个项目,单片机使用STM32F429,网口芯片使用W5500(用的人应该很多吧),通信协议使用MODBUS。

因为MCU资源比较多,准备上个RTOS。又因为RT-Thread最近几年比较火,准备尝试一下。

搭建开发环境RT-Thread Studio,创建工程,启用外部时钟,启用SPI接口。F429有六个SPI接口,启用前五个都没事,唯独第六个的时候报错:

去官方论坛发帖咨询,运气比较好,一个高手帮着解决了:

接着添加W5500的软件包,不得不说,RTT在这方面做的比较好,很多软件包都封装好了,可以直接安装。省去了移植的麻烦,不过,也留下了隐患…

很快,W5500也调通了:

接下来是MODBUS,这里我使用的是freemodbus,因为之前用过,尽量用自己熟悉的。安装软件包,并进行相应的配置:

然后,坑出现了,各种编译报错:

警告一般是重复定义,错误是头文件缺失。尝试添加一些头文件路径,错误数量从五六个直接变成了两百多个…

在论坛发帖求助,一周多没人搭理…

感觉是RTT升级后,相应的软件包没有跟上更新,导致出现的这一系列的问题。心好累,老夫很烦躁。

没办法,只好去网上下载了一个基于STM32的freemodbus的TCP的例程,用最原始的方法移植。忙了大半天,总算弄好了。

需要例程的,公众号后台回复关键词:023 或者 TCP 即可获取下载链接,链接内包含移植好的例程(F429_POWER03)和我下载的例程(03 ModbusTCPServer实验)。

最后吐槽一下RTT,步子大了,扯到蛋了…

留下评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据