迪文屏K600+ 数据库的读写操作

实现数据的掉电存储功能

在实际的项目中会用到数据的存储功能  

方法一:可以在单片机中使用内部EEprom作为Flash使用   也可以外挂Flash  

本次讲解的是使用迪文屏K600+内核的屏幕  使用屏幕内部的存储空间作为数据库的存储记录

5.2.4 数据库的读写
5.5 数据库相关寄存器
 
读写数据库时,首先需要知道数据库在 FLASH 空间中的储存位置,也即数据库的首地址。从讲解 FLASH
储存空间的章节中,我们了解到可以分配给数据库的空间是有上限的(详见 3.3 节)。给数据库分配最大储存
空间时,对应了最小的图片空间,表 5.6 中给出了计算数据库空间首地址所需的参数对照表。

 

PIC_ID:给数据库空间分配最大值时,最多可储存的图片数量,同时,也是此时可使用的最大图片编号。表格中部分分辨 率有两个 PIC_ID,如 640*480 分辨率中 PIC_ID 42 43,意味着最大图片 ID 42,但由于一张图片占用了多个空间,数

据库应当从原 44 号图片储存位置开始储存。
计算数据库空间起始地址

 

设有 N 幅图片需要存储,则数据库的最小首地址 =(( N * K1 )-128)*64*1024
注: N 大于 PIC_ID 128 64 1024 均为常数,可直接带入计算。
480*272 分辨率下,预留 200 幅图片的空间,那么数据库的最小起始地址 Adr_Min 为:
Adr_Min=(( 200 * 1 )-128)*64*1024 =
4718592
= 0x0048 0000 【每 1Byte 数据库存储器占据 2Byte FLASH ‬‬‬‬‬‬‬‬‬‬
使用 SD 卡导出数据库时,每个字库大小为 128KB ,编号从 236 开始。 DGUS 会自动处理跨字库情况。
用户读写数据库的过程中, DGUS 会对数据进行加密和纠错操作,以确保数据存储的可靠性。用户数据库
FLASH 中是由若干个大小为 128KB 的数据库构成,每个页面写寿命是 10 万次(启动 1 次写操作则减少 1
次写寿命),但是读写操作中的地址是连续的,不会受到分页的影响, DGUS 会自动地处理分页的问题。

相关指令集

 

 

举例说明:

1、5A A5 05 82 1100 0063  ;写数据。数据变量显示地址1100显示数据99。

2、5A A5 0C 80 56 5A 50  0010 0000    1100 0001 ;将数据保存到数据库。

将数据写到数据库地址0010 0000,80 指令使用 56 寄存器将上述数据存入存储器中。指令含义:5A A5 0C 80 56 5A(申请更新) 50(写入数据库) 0010 0000(数据库首地址) 1100(变量地址) 0001(写入数据的长度)。

 

数据导出

3、  到这一步可以建开始.DAT文件导出数据库,也可以屏掉电后发一条读数据库指令看数据是否正确写入,指令如下: 5A A5 0C 80 56 5A A0 0010 0000 1100 0001;读取数据库数据。

.DAT文件可以在DOS下自定义文件大小,比如1MB就是下方的1048576(1024*1024)

4.复制一个22_Config.bin文件,单独放在DWIN_SET文件夹,重新命名为272.DAT格式文件,为什么命名272见开发指南数据库导出部分。

6、  卡插入屏中,导出数据。

7、  导出完,UE软件打开272.DAT文件,可能看到是乱码数据。


 

这时点击 “编辑”,点击下方十六进制函数  十六进制编辑即可正常显示。
0063就是原来写入数据库首地址0010 0000保存的数据。其余的11数据当乱码处理即可。

以上就结束了。

迪文开发者论坛 - Powered by Discuz!

迪文开发者论坛 - Powered by Discuz!

 数据库导出

以上说明的56指令  是将变量地址的数据地址的数据存入到数据库 


 

一下为和迪文屏技术客服沟通的内容

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值