我要实现的功能是:1.参数的读取,修改和存储,通过读写内部flash实现;2.花名册的添加,删除,修改,保存,显示(姓名,性别,年龄。。。),通过外部SD卡的读写实现。
现在遇到问题如下:flash读写是通过读取第一位是否为固定值来确定是否写入参数,是固定值直接读取,不是固定值写入参数。 读写都正常就是数据不完整,如下所示:
常量数组第一个字节0xaa相当于读写标志local Data_prescription = {0xaa,
80,20,5,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,
90,20,5,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,
95,20,5,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,
100,20,5,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,
105,20,5,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,
110,20,5,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,
115,20,5,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,115,
120,20,5,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,
125,20,5,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125}
--初始化函数
--function on_init()
--end
function on_init()
local rdata = {}
rdata = read_flash(data_addr,36)
if rdata[0] ~= 0xaa then
flush_flash()
write_flash(data_addr, Data_prescription)
end
local rdata = read_flash(data_addr,36)
if rdata[0] == 0xaa then
for i = 1,35,1 do
Data_prescription1[i] = rdata[i]
end
-- set_value(1,92,rdata[0])
end
end
|