大彩串口屏如何实现掉电保存功能

一、概述
本文主要阐述的是如何在串口屏中实现掉电保存的功能,即用户在对文本输入之后,设置了保存的操作之后,能够实现屏幕在掉电重新上电的情况下实现数据保存的功能,即重新上电还是显示上次输入的文本内容。本例子主要是通过lua脚本的读写flash的函数来实现的,实现该功能有两个方法:一是通过数组方式实现,二是通过字符串的方式实现,下面会一一介绍这两种方法。
二、适用范围
本文适用于广州大彩F系列、物联型等支持lua脚本的型号。其中,F系列的固件版本需达到349及以上,物联型的需要在590以上。
三、实现方法
3.1 读写flash数据——以数组方式
屏幕可供用户使用的flash空间为128KB,可用于存储配置参数。其中,flash地址大小为0-131071,对应的一个地址对应一个字节。相应的数组读取函数如图 31所示。
大彩串口屏如何实现掉电保存功能
图 31以数组方式读写
3.1.1 界面配置
本例子的实现:用户在界面上设置文本控件的输入,输入完成可通过点击“保存”按钮来实现将数值保存起来,断电重新上电文本控件显示上次输入的值。本例子主要用到的是文本控件以及按钮控件,界面设置如图 32所示。
大彩串口屏如何实现掉电保存功能
图 32数组方式界面编辑
本例子主要以一个字节的读写来做示范,对应的数值大于255的话,对应的需要对数据做高低位处理,然后按照高低位字节对应存入数组里面。文本控件的设置如图 33所示。
大彩串口屏如何实现掉电保存功能
图 33小键盘输入
3.1.2 脚本编写
脚本实现的功能:用户在界面上设置文本控件的输入,输入完成可通过点击“保存”按钮来实现将数值保存起来,断电重新上电文本控件显示上次输入的值。脚本的实现的思路:通过在按钮控件的通知回调函数触发数据以数组方式写入到flash,由于是数组方式,所以获取数值使用get_value(screen,control)来获取。然后通过初始化函数,即屏幕重新启动的时候再将数据从flash读取回来显示。相应的脚本实现如图 34所示。
大彩串口屏如何实现掉电保存功能
图 34以数组读写的脚本
3.2 读写flash数据——以字符串方式
相对于数组方式的读写来说,以字符串读写的方式会方便一点。具体表现为:字符串读取函数直接设定起始存储的地址,然后使用get_text(screen,control)将读取的字符串存进去就可以。然后读取flash,对应设定起始地址就可以将之前的字符串读取出来。相应的字符串读取函数如图 35所示。
大彩串口屏如何实现掉电保存功能
图 35以字符串方式
注意:用户需要给对应的字符串估算一个最大需要的存储空间,因为字符串读写的话,是全部字符串从起始地址开始直接存储的,这也是避免不同的字符串存储的地址重叠导致读取有错或者不完整。
3.2.1 界面配置
界面的配置同样是需要文本控件和按钮控件,文本控件主要可以让用户输入相应的字符,包括数字、英文以及中文。然后点击“保存”按钮,对应的输入信息就会保存起来。相应的界面配置如图 36所示。
大彩串口屏如何实现掉电保存功能
图 36字符串方式界面配置
以字符串方式存储的方式,文本控件可以对应输入字符,包括数字、英文以及中文,故文本控件的输入方式可设置成全键盘输入,对应的设置如图 37所示。
大彩串口屏如何实现掉电保存功能
图 37全键盘输入
3.2.2 脚本编写
脚本实现的功能:用户可以在文本控件输入相应的字符,点击保存按钮之后,屏幕断电重新上电依然显示上次输入的字符。
脚本实现的思路:通过在按钮控件的通知回调函数将文本控件输入的字符以字符串方式写入到flash,然后通过初始化函数,即屏幕重新启动的时候再将字符串从flash读取回来显示。相应的脚本实现如图 38和图 39所示。
大彩串口屏如何实现掉电保存功能
图 38初始化读取字符串
大彩串口屏如何实现掉电保存功能
图 39触发字符串保存
4、总结
以上介绍的关于数组以及字符串读写flash的方法,对应都有其使用的范围。以数组方式保存的方法,是针对于用户输入的一些数据,仅限于对应数字的输入,这个可以应用于保存数字密码、版本号或者配置参数等数据。以字符串方式保存的方法,应用范围相对于数组保存的要广,对应可以保存字符,包括数字、英文和中文,这部分可以应用于保存参数名称、字符密码以及支持字符的数据。

安装Docker安装插件,可以按照以下步骤进行操作: 1. 首先,安装Docker。可以按照官方文档提供的步骤进行安装,或者使用适合您操作系统的包管理器进行安装。 2. 安装Docker Compose插件。可以使用以下方法安装: 2.1 下载指定版本的docker-compose文件: curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 2.2 赋予docker-compose文件执行权限: chmod +x /usr/local/bin/docker-compose 2.3 验证安装是否成功: docker-compose --version 3. 在安装插件之前,可以测试端口是否已被占用,以避免编排过程中出错。可以使用以下命令安装netstat并查看端口号是否被占用: yum -y install net-tools netstat -npl | grep 3306 现在,您已经安装Docker安装Docker Compose插件,可以继续进行其他操作,例如上传docker-compose.yml文件到服务器,并在服务器上安装MySQL容器。可以参考Docker的官方文档或其他资源来了解如何使用DockerDocker Compose进行容器的安装和配置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Docker安装docker-compose插件](https://blog.youkuaiyun.com/qq_50661854/article/details/124453329)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Docker安装MySQL docker安装mysql 完整详细教程](https://blog.youkuaiyun.com/qq_40739917/article/details/130891879)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值