硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3812|回复: 7
收起左侧

[Lua] V2.05固件增加lua文件操作API

[复制链接]

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2021-5-12 16:38:11 | 显示全部楼层 |阅读模式
实现2个API函数:
1) 列举目录文件
     f_dir(path)   -- 参数为完整目录字符串

2) 读文件内容 (一次最大读 16KB)
    f_read(filename, offset,  read_bytes)  --文件名, 偏移地址, 读取长度
    返回: 实际读取的文件长度

例子1:
执行下面的lua语句,将查看 fix_data.lua 文件的内容
f_dir("0:/H7-TOOL/Programmer/LuaLib")
print()

bytes, bin = f_read("0:/H7-TOOL/Programmer/LuaLib/fix_data.lua", 0, 16 * 1024)
print("实际长度:", bytes)
print("文件内容:")
print(bin)  --文本文件直接print,二进制文件用 print_hex





执行结果:
当前目录:0:/H7-TOOL/Programmer/LuaLib
属性        |  文件大小 | 长文件名
(0x32)文件         7515  fix_data.lua
(0x32)文件         7354  machine_if.lua
(0x32)文件        30561  prog_lib.lua
(0x16)目录            0  encrypt

实际长度: 7515.0
文件内容:
-------------------------------------------------------
-- 文件名 : fix_data.lua

....... 略 ........




范例2:读取二进制文件

f_dir("0:/H7-TOOL/Programmer/User/TestBin")
print()

bytes, bin = f_read("0:/H7-TOOL/Programmer/User/TestBin/4k.bin", 0, 16 * 1024)
print("实际长度:", bytes)
print("文件内容:")
print_hex(bin)  --打印二进制数据


luabin.png




回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2021-5-12 17:54:58 | 显示全部楼层
增加这个接口的目的:

有客户要求用 lua 实现对HMI串口屏的数据更新,他的下载协议是厂家自定义,希望用lua来实现脱机下载。

回复

使用道具 举报

1

主题

92

回帖

100

积分

初级会员

积分
100
发表于 2021-7-13 21:32:22 | 显示全部楼层
armfly 发表于 2021-5-12 17:54
增加这个接口的目的:

有客户要求用 lua 实现对HMI串口屏的数据更新,他的下载协议是厂家自定义,希望用 ...

已经在使用了,附上小程序,大神们看看有没有错误,欢迎指出 hmi_update.lua (2.2 KB, 下载次数: 17)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107072
QQ
发表于 2021-7-14 01:34:51 | 显示全部楼层
nnqtdf 发表于 2021-7-13 21:32
已经在使用了,附上小程序,大神们看看有没有错误,欢迎指出

这个做的还真不错,可以
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2021-7-14 09:35:59 | 显示全部楼层
看了下,写的很紧凑。不到100行就实现了。
如果不介意的话,我将他收藏到TOOL的缺省lua文件中,分享给大家。
更名为: HMI串口屏数据更新(网友nnqtdf分享).lua
回复

使用道具 举报

1

主题

92

回帖

100

积分

初级会员

积分
100
发表于 2021-7-14 09:57:39 | 显示全部楼层
armfly 发表于 2021-7-14 09:35
看了下,写的很紧凑。不到100行就实现了。
如果不介意的话,我将他收藏到TOOL的缺省lua文件中,分享给大家 ...

可以的,谢谢
回复

使用道具 举报

1

主题

92

回帖

100

积分

初级会员

积分
100
发表于 2021-7-28 10:52:12 | 显示全部楼层
armfly 发表于 2021-7-14 09:35
看了下,写的很紧凑。不到100行就实现了。
如果不介意的话,我将他收藏到TOOL的缺省lua文件中,分享给大家 ...

hmi_update.lua (2.36 KB, 下载次数: 16)
升级了一下,支持3种下载速度
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107072
QQ
发表于 2021-7-29 08:30:53 | 显示全部楼层
nnqtdf 发表于 2021-7-28 10:52
升级了一下,支持3种下载速度

谢谢分享。
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-16 13:03 , Processed in 0.175972 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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