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

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: 金沙白浪

请教如何使用write_flash()和read_flash()存取数据表?

[复制链接]

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12619
发表于 2023-8-15 17:24:06 | 显示全部楼层
金沙白浪 发表于 2023-8-15 15:59
调试了很多次还是不能正常读取,按理使用判断语句temp_string ~= nil不该有问题,能否提供一个使用LUA操作f ...

官网开发文档里面,flash读写的例程里面有
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

15

主题

32

帖子

163

积分

注册会员

Rank: 2

积分
163
 楼主| 发表于 2023-8-16 12:00:06 | 显示全部楼层
本帖最后由 金沙白浪 于 2023-8-16 12:01 编辑

我把原本程序里有关参数保存的程序原封不动移植到了例程,运行结果一切正常,主要程序片段如下:
  1.                 -- 按键:参数保存
  2.                 elseif control == 311  then
  3.                         if value == 1 then
  4.                                 print("Save lookup_V2E_flash to flash")
  5.                                 load_V2E_params(screen)
  6.         
  7.                                 printLookupTable(lookup_V2E_flash)
  8.         
  9.                                 -- 向flash写入初始参数
  10.                                 local temp_string2 = cjson.encode(lookup_V2E_flash)
  11.         
  12.                                 print("String to flash:")
  13. --                                print(temp_string2)
  14.         
  15.                                 flush_flash()
  16.                                 local result = write_flash_string(flash_addr.V2E, temp_string2)
  17.                                 print("write result")
  18.                                 print(result)
  19.         
  20.         
  21.         
  22.                                 -- 再次读取
  23.                                 local temp_string = read_flash_string(flash_addr.V2E)
  24.                                 lookup_V2E_flash = cjson.decode(temp_string)
  25.         
  26.                                 print("Done!")
  27.         
  28.         
  29.                         end
复制代码

但我原工程中的代码仍然无法实现掉电保存,我和例程对比了运行输出结果,发现write_flash_string()函数的返回值不一样。例程调用该API,返回值是
  1. [11:59:26.456] LUA: write result
  2. [11:59:26.456] LUA: function: 03508187
复制代码

但是存在BUG的工程,返回值是
  1. [11:50:30.204] LUA: write result
  2. [11:50:30.204] LUA: 20
复制代码

请问有这个API更详细的资料吗?这个返回值意味着什么?
回复

使用道具 举报

2

主题

1253

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
12619
发表于 2023-8-16 16:07:12 | 显示全部楼层
写flash这个api会返回一个地址,没什么参考价值,或者你弄一个可以复现这个问题的最小工程发出来看看
Easy doesn't enter into Grown-up life
成年人的生活里面没有“容易”二字
回复

使用道具 举报

0

主题

59

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
发表于 2023-8-21 16:26:31 | 显示全部楼层
金沙白浪 发表于 2023-8-15 15:59
调试了很多次还是不能正常读取,按理使用判断语句temp_string ~= nil不该有问题,能否提供一个使用LUA操作f ...

你也可以使用数据记录控件来存储数据,只需要上电的时候隐藏即可
回复

使用道具 举报

1

主题

3

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2024-4-21 21:12:46 | 显示全部楼层
If后要接end 发表于 2023-8-15 17:24
官网开发文档里面,flash读写的例程里面有

我也遇到同样问题,这个官网开发文档在哪里下载。能发个链接吗,十分感谢!!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-21 20:24 , Processed in 0.048526 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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