迪文科技论坛

 找回密码
 立即注册
搜索
查看: 236|回复: 9

【提问】指令太多,提供的参考数组放不下

[复制链接]

24

主题

61

回帖

509

积分

高级会员

Rank: 4

积分
509
发表于 2025-2-20 10:51:25 | 显示全部楼层 |阅读模式
我用提供的c51,modbus指令函数BT【】数组,现在就是我一个BT【】到最大指令条数了,但我的指令还有没写进去的,改咋办?

我自己也仿照写了个数组试试,但不会执行里面的指令
回复

使用道具 举报

0

主题

246

回帖

2015

积分

金牌会员

Rank: 6Rank: 6

积分
2015
发表于 2025-2-20 14:41:18 | 显示全部楼层
原来的数组是可以扩充的,只要能编译过就行,基本上千条都可以写,但是实际不建议写那么多条,因为轮询时间太长了,刷新数据就慢。建议相邻的地址就用03或是10指令连续读写,减少指令条数。
回复

使用道具 举报

24

主题

61

回帖

509

积分

高级会员

Rank: 4

积分
509
 楼主| 发表于 2025-2-20 17:51:28 | 显示全部楼层
紫狐 发表于 2025-2-20 14:41
原来的数组是可以扩充的,只要能编译过就行,基本上千条都可以写,但是实际不建议写那么多条,因为轮询时间 ...

怎么扩充,我680条就报错了,我的数据地址比较分散,我具体到每一页就几条指令
回复

使用道具 举报

0

主题

246

回帖

2015

积分

金牌会员

Rank: 6Rank: 6

积分
2015
发表于 2025-2-20 20:21:32 | 显示全部楼层
本帖最后由 紫狐 于 2025-2-20 20:24 编辑

报错了那就扩不了了,只能是规划地址了,600多条指令属实是有点乱了。相同地址的也可以合并。基本上一个项目有个2-300条不同的指令就够了的。
回复

使用道具 举报

24

主题

61

回帖

509

积分

高级会员

Rank: 4

积分
509
 楼主| 发表于 2025-2-20 20:55:39 | 显示全部楼层
本帖最后由 1732200390 于 2025-2-20 20:56 编辑
紫狐 发表于 2025-2-20 20:21
报错了那就扩不了了,只能是规划地址了,600多条指令属实是有点乱了。相同地址的也可以合并。基本上一个项 ...

怎么合并啊,我界面太多了,c51做不到一个指令在每个界面执行,几乎都是不同界面在执行相同的指令
回复

使用道具 举报

0

主题

246

回帖

2015

积分

金牌会员

Rank: 6Rank: 6

积分
2015
发表于 2025-2-21 08:25:41 | 显示全部楼层
本帖最后由 紫狐 于 2025-2-21 08:29 编辑

可以每个页面都执行,修改代码对的这个地方,增加一个模式就行了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

24

主题

61

回帖

509

积分

高级会员

Rank: 4

积分
509
 楼主| 发表于 2025-2-21 15:24:54 | 显示全部楼层
本帖最后由 1732200390 于 2025-2-21 15:41 编辑
紫狐 发表于 2025-2-21 08:25
可以每个页面都执行,修改代码对的这个地方,增加一个模式就行了。

方便给这个.c文件发下吗?

我如果要实现读取0x0062地址值到屏0x1300:写法就是:0x5A, 0x01, 0x03, 0x01, 0x30, 0x05, 0x??, 0x??, 0x13, 0x00, 0x00, 0x62,

但我看之前提供的modbus文档,D6D7代表页,我哪该怎么写


有新的modbus操作文档吗?
回复

使用道具 举报

0

主题

246

回帖

2015

积分

金牌会员

Rank: 6Rank: 6

积分
2015
发表于 2025-2-21 19:33:27 | 显示全部楼层
d6d7写0就行,不影响指令操作。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

24

主题

61

回帖

509

积分

高级会员

Rank: 4

积分
509
 楼主| 发表于 2025-3-5 19:57:29 | 显示全部楼层
紫狐 发表于 2025-2-21 19:33
d6d7写0就行,不影响指令操作。

有办法做到让modbus指令在某一页都不执行吗?我需要用串口2的进行程序的后续更新,有modbus执行的页面无法做到串口下载
回复

使用道具 举报

0

主题

246

回帖

2015

积分

金牌会员

Rank: 6Rank: 6

积分
2015
发表于 2025-3-6 09:15:19 | 显示全部楼层
1732200390 发表于 2025-3-5 19:57
有办法做到让modbus指令在某一页都不执行吗?我需要用串口2的进行程序的后续更新,有modbus执行的页面无 ...

直接读页面号(0x14地址),用if判断运不运行modbus函数就行了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-5-11 17:11 , Processed in 0.037919 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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