广州大彩串口屏论坛_大彩开发者交流论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 522|回复: 7

请问如何将地址内的数据清空

[复制链接]

20

主题

39

帖子

166

积分

注册会员

Rank: 2

积分
166
发表于 2025-2-11 08:57:10 | 显示全部楼层 |阅读模式
请问如何将地址内的数据清空
回复

使用道具 举报

0

主题

525

帖子

1538

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1538
发表于 2025-2-11 12:00:12 | 显示全部楼层
清空地址内的数据,如果是数据类型就对地址的值写0,如果是字符串的地址就写空字符串,lua脚本处理
回复

使用道具 举报

20

主题

39

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2025-2-11 14:25:40 | 显示全部楼层
set_uint16(VT_RW,addr,0)这样写0会报错,写nil也会报错,bad argument #2 to 'set uint16'(number expected, got nil)
回复

使用道具 举报

0

主题

525

帖子

1538

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1538
发表于 2025-2-11 17:52:32 | 显示全部楼层
你这个第二个参数是没有给具体的地址
回复

使用道具 举报

20

主题

39

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2025-2-12 08:05:42 | 显示全部楼层
因为有很多个地址需要清空,if i and address_mapping[i] then
    b_addr, a_addr1, a_addr2 = address_mapping[i].b_addr, address_mapping[i].a_addr1, address_mapping[i].a_addr2
end
其实是需要这个address_mapping表里的地址全部清空,您看这样需要怎么写
回复

使用道具 举报

20

主题

39

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2025-2-12 08:08:51 | 显示全部楼层
b_addr, a_addr1, a_addr2这三个变量定义的地址清空
回复

使用道具 举报

0

主题

525

帖子

1538

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1538
发表于 2025-2-12 10:08:52 | 显示全部楼层
用for循环遍历 address_mapping 表,调用 set_uint16 函数,将地址的值设置为 0
for i, mapping in ipairs(address_mapping) do
    if mapping then
        set_uint16(VT_RW, mapping.b_addr, 0)
        set_uint16(VT_RW, mapping.a_addr1, 0)
        set_uint16(VT_RW, mapping.a_addr2, 0)
    end
end
回复

使用道具 举报

20

主题

39

帖子

166

积分

注册会员

Rank: 2

积分
166
 楼主| 发表于 2025-2-12 11:35:11 | 显示全部楼层
解决啦,太感谢了
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|广州大彩串口屏论坛_大彩开发者交流论坛

GMT+8, 2025-3-14 17:38 , Processed in 0.043137 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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