找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机MODBUS_RTU的通讯程序 03码只能读连续的18个数据

查看数: 3613 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-6-19 16:08

正文摘要:

从大学毕业到现在,重新学习了下51单片机,最近站在各位前辈大佬的肩膀上,调试了一下STC15W408AS的一个MODBUS_RTU的通讯,程序能够调通,但是用modscan32的时候,只能读连续的18个数值,搞不懂了。贴上代码,请各位 ...

回复

ID:753989 发表于 2020-7-1 08:39
已经找到问题了,第96行 unsigned char xdata buf[40]; 这个地议定义的buf[40]的数组长度不够,当数据(字节)长度超过40时,就不能够存入这个缓存了。STC15W408AS的数据手册,xdata最大值为256,所以根据keil编译的结果,可以将这个缓存改成buf[110];
ID:753989 发表于 2020-6-29 11:35
@ admin  没人回我,能帮帮忙吗?
ID:753989 发表于 2020-6-20 13:41
没有人回我吗??
ID:753989 发表于 2020-6-19 16:19
另外说明一下,读取数据长度大于19的时候,我看 USB转485的转换模块上的灯,看下来正常的
ID:753989 发表于 2020-6-19 16:12
大部分代码来自本站下载,自己做了一点小改

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表