repo-从掉电存储空间读取数据

(仅k0系列/x系列支持)

注意

第一次使用掉电存储空间前(新屏幕),必须对掉电存储空间进行初始化 如何对掉电存储空间进行初始化

未初始化的掉电存储空间里面有什么数据是不确定的,如果未初始化就直接读取,可能会导致程序运行出错,例如会导致模拟器中的效果与串口屏实物的效果不一致

读取不消耗掉电存储空间寿命

存储空间的读写范围是0-1023,当读写的是val属性时,最后一个读写的位置是1020,因为当读写1020时,其读写范围是1020-1023。

repo att,add

att:目标变量

add: 用户存储区位置(从0开始)

repo-示例1

1 //从用户存储区的10位置读数据到t0.txt变量中,直到遇到字符串结束符\0才停止
2 repo t0.txt,10
../_images/repo_1.jpg

注意

读取到txt属性时遇到字符串结束符0才停止,因此之前通过wepo或者wept写入字符串类型的变量时,一定要留有空间存储0,否则读取时就会出错

repo-示例2

1 //从用户存储区的40位置读数据到n0.val,在存储区中的读取数据量为4字节,实际读取的位置为10-13
2 repo n0.val,40
../_images/repo_2.jpg

注意

读入内容为变量字符串的时候,在储存区中的读取数据量为此变量的最大字符数+1。

读入内容为变量数值时候,在储存区中的读取数据量统一为4字节。

使用用户存储区读写操作过程中请切记规划好数据区位置,以免位置交错引起数据覆盖错乱。

用户存储区大小为1k,位置为0-1023

repo-应用实例

读取多个连续的val属性

 1 //实际读取40-43
 2 repo n0.val,40
 3
 4 //实际读取44-47
 5 repo n1.val,44
 6
 7 //实际读取48-51
 8 repo n2.val,48
 9
10 //实际读取52-55
11 repo n3.val,52

使用名称组读取n0-n9多个连续的val属性,请确保n0-n9的id号是连续的

1 eepAddr.val=40
2 for(sys0=n0.id;sys0<=n9.id;sys0++)
3 {
4     repo b[sys0].val,eepAddr.val
5     eepAddr.val+=4
6 }

读取多个txt属性

 1 //从40地址开始读取,直到读取到 \0 ,才会停止读取
 2 repo t0.txt,40
 3
 4 //从51地址开始读取,直到读取到 \0 ,才会停止读取
 5 repo t1.txt,51
 6
 7 //从62地址开始读取,直到读取到 \0 ,才会停止读取
 8 repo t2.txt,62
 9
10 //从73地址开始读取,直到读取到 \0 ,才会停止读取
11 repo t3.txt,73

注意

怎么写进去的数据就怎么读出来,以字符串方式写进去的数据,就要读取到字符串属性中,以数值类型写进去的数据,就要读取到数值类型属性中

repo指令-样例工程下载

资源合集汇总

repo指令-相关链接

如何对掉电存储空间进行初始化

wepo-写入数据到掉电存储空间

wept-通过串口透传数据到掉电存储空间

rept-从掉电存储空间读取数据并透传发送到串口