3.1 读写flash数据——以数组方式
屏幕可供用户使用的flash空间为128kb,可用于存储配置参数。其中,flash地址大小为0-131071,对应的一个地址对应一个字节。相应的数组读取函数如图 3‑1所示。
图 3‑1以数组方式读写
3.1.1 界面配置
本例子的实现:用户在界面上设置文本控件的输入,输入完成可通过点击“保存”按钮来实现将数值保存起来,断电重新上电文本控件显示上次输入的值。本例子主要用到的是文本控件以及按钮控件,界面设置如图 3‑2所示。
图 3‑2数组方式界面编辑
本例子主要以一个字节的读写来做示范,对应的数值大于255的话,对应的需要对数据做高低位处理,然后按照高低位字节对应存入数组里面。文本控件的设置如图 3‑3所示。
图 3‑3小键盘输入
3.1.2 脚本编写
图 3‑4以数组读写的脚本
3.2 读写flash数据——以字符串方式
相对于数组方式的读写来说,以字符串读写的方式会方便一点。具体表现为:字符串读取函数直接设定起始存储的地址,然后使用get_text(screen,control)将读取的字符串存进去就可以。然后读取flash,对应设定起始地址就可以将之前的字符串读取出来。相应的字符串读取函数如图 3‑5所示。
图 3‑5以字符串方式
注意:用户需要给对应的字符串估算一个最大需要的存储空间,因为字符串读写的话,是全部字符串从起始地址开始直接存储的,这也是避免不同的字符串存储的地址重叠导致读取有错或者不完整。
3.2.1 界面配置
界面的配置同样是需要文本控件和按钮控件,文本控件主要可以让用户输入相应的字符,包括数字、英文以及中文。然后点击“保存”按钮,对应的输入信息就会保存起来。相应的界面配置如图 3‑6所示。
图 3‑6字符串方式界面配置
以字符串方式存储的方式,文本控件可以对应输入字符,包括数字、英文以及中文,故文本控件的输入方式可设置成全键盘输入,对应的设置如图 3‑7所示。
图 3‑7全键盘输入
3.2.2 脚本编写
脚本实现的思路:通过在按钮控件的通知回调函数将文本控件输入的字符以字符串方式写入到flash,然后通过初始化函数,即屏幕重新启动的时候再将字符串从flash读取回来显示。相应的脚本实现如图 3‑8和图 3‑9所示。
图 3‑8初始化读取字符串
图 3‑9触发字符串保存
以上介绍的关于数组以及字符串读写flash的方法,对应都有其使用的范围。以数组方式保存的方法,是针对于用户输入的一些数据,仅限于对应数字的输入,这个可以应用于保存数字密码、版本号或者配置参数等数据。以字符串方式保存的方法,应用范围相对于数组保存的要广,对应可以保存字符,包括数字、英文和中文,这部分可以应用于保存参数名称、字符密码以及支持字符的数据。