完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用的STM32F4的正点原子探索者开发板,通过ENV以及cubemx配置好工程后在libmodbus例程下正常轮询,但是主机自身没有发送指令进行查询,使用的是串口2的485通讯,485芯片为高电平为发送模式,代码如下:
运行过程通过u***转485工具连接,PC端使用modbus Slave,串口精灵监视也没有任何数据交互的过程 有大佬可以看看是什么情况吗?谢谢 |
|
相关推荐
7个回答
|
|
我这边测试是没有问题的,libmodbus RTU 的官方示例代码。modbus slave 测试结果如下图。 首先要确定你的串口设备已经使能了,可以单步调试从 modbus_connect() 函数作为入口进行分析,这个函数进行了串口硬件的初始化,看一下是否串口打开成功。modbus_connect() 函数分析过程如下。
也可以把 rt-thread/components/dfs/include/dfs_private.h 文件中的调试信息等级改为 #define DBG_LVL DBG_LOG,这样就能看到打开串口的结果了,如下
按照上述的步骤分析完了,还是不行,可以换一个串口,不用485,然后把 modbus_new_rtu 的参数1改成自己的串口设备,别的代码不用动,然后试一下,看看不用485的时候好不好用。
|
|
|
|
读取寄存器时返回的是FFFFFFFF |
|
|
|
modbus 收发的数据帧是什么?主机没有发送数据,modbus没有进行收发
|
|
|
|
我建议直接使用其他串口试一下,先不用485,看看可不可以用,这样可以证明下载的软件包有没有问题。然后在用485的串口调试。
|
|
|
|
|
|
|
|
贴出的代码中有硬脚初始化操作
|
|
|
|
把优先级调到31试试
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1004 浏览 0 评论
AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV
3272 浏览 0 评论
tms320280021 adc采样波形,为什么adc采样频率上来波形就不好了?
1443 浏览 0 评论
2102 浏览 0 评论
1614 浏览 0 评论
75283 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-28 01:12 , Processed in 0.692113 second(s), Total 51, Slave 43 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号