M系列使用HMI软件的问题
DC48270M043使用HMI版本软件怎么在SD卡创建文件,我一直创建失败,使用file_open后没有返回数据写文件的这部分的程序截图出来看看 或者发一下你这个问题的最小复现工程看看 time = year.."-"..mon.."-"..day.."-"..hour.."-"..min
addcreateName = sd_dir..'/'..time..".txt"
local write_byte_Tb = {}
--local open_state = file_open(addcreateName, FA_CREATE_ALWAYS)
--local open_state = file_open(addcreateName, FA_CREATE_NEW)
local open_state = file_open(addcreateName, 1)
dataPrint = "文件状态:"..open_state
set_string(VT_LW, testFlag , dataPrint)--打印测试数据
file_close()
local FA_OPEN_EXISTING = 0x00
local FA_READ = 0x01 --读
local FA_WRITE = 0x02 --写
local FA_CREATE_NEW = 0x04 --创建新文件
local FA_CREATE_ALWAYS = 0x08 --覆盖创建新文件
local FA_OPEN_ALWAYS = 0x10 --打开
---------------------------
我发现例程中这些命令好像用不了, zxc2216843 发表于 2023-2-28 16:26
local FA_OPEN_EXISTING = 0x00
local FA_READ = 0x01 --读
local FA_WRITE = 0x02 --写
这个是之前TFT读写文件用到的 open_state转成字符串形式输出,不然会报错 本帖最后由 zxc2216843 于 2023-3-1 14:29 编辑
好的,谢谢,有问题我再问 for i = 1, 2
do
--复位写字节数组
write_byte_Tb = {}
data = get_string(VT_RW, i)--获取要存储的数据
local wrire_len = string.len(data)
count = wrire_len
--计算写的位置
seek_ops = (i - 1) * wrire_len +all_byte
local offst_result = file_seek(seek_ops)
for j = 1, count
do
-- 字符串类型,将每个字符转换为字节数组
write_byte_Tb = tonumber(string.byte(data, ((i - 1) * lastCount + j), ((i - 1) * lastCount + j)))
end
lastCount = count
dataPrint = "第"..tostring(i).."次转换数据完成"
set_string(VT_LW, testFlag , dataPrint)--打印测试数据
local IswriteOK = file_write(write_byte_Tb)
if IswriteOK == false
then
i = i - 1
end
-----------------
请问下上面的程序,我这边给文件里写2条数据,不知道为啥老是在第二次的write_byte_Tb转换字符数组这边过不去,我也看不出原因,麻烦大佬给看看 数据长度wrire_len读取出来长度是59
页:
[1]
2