迪文科技论坛

 找回密码
 立即注册
搜索
查看: 1840|回复: 6

【提问】OS读取变量地址数据到数据库

[复制链接]

3

主题

3

回帖

44

积分

新手上路

Rank: 1

积分
44
发表于 2021-5-22 17:28:02 | 显示全部楼层 |阅读模式
迪文屏型号:DMT48270T043_16WT。希望实现的功能:将迪文屏变量地址0x0008和0x0009两个变量地址中的数据写入数据库,并通过SD卡导出
由于我的屏里面的图片少于33张,所以数据库的存放地址为0x00000000计算得到.dat文件为256.dat,并将其放入DWIN_SET文件夹中然后是OS编程:
  ;;写数据库申请
  LDBR R20,0x5A,1
  MOVRD R20,0x56,1;对DGUS寄存器0x56写入0x5A,进行申请写数据库操作
  LDBR R22,0x50,1
  MOVRD R22,0x57,1;对DGUS寄存器0x57写入0x50,变量存储器空间数据到数据库
  LDBR R24,0x00000000,4
  MOVRD R24,0x58,4
  ;===============================
  ;;DGUS变量地址数据写入OS寄存器
  LDWR R0,0x0008 ;R0=0x00,R1=0x08,R0,R1指定DGUS变量地址0x0008  
  MOVXR R10,1,2;将DGUS变量地址0x0008地址中的数据读取两个字到R10,R11,R12,R13
  GOTO LOAD
  ;===============================
  ;;OS寄存器R10,R11数据写入数据库
LOAD:   LDWR R17,0x0010;DGUS变量缓存区地址
        MOVXR R10, 0, 2;将R10:R13的数据装入DGUS变量缓存区
        LDWR R4,0
        LDBR R5,0,1
        LDWR R6,0x0000
        MOVXL 3,2 ;将R10,R13寄存器共两个字的数据写入数据库0x00000000地址内
        LDBR R18,100,1
        MOVRD R18,02,1 ;蜂鸣器鸣叫1s,用来测试OS是否可正常运行

这是我自己根据理解写的程序,现在的现象是蜂鸣器是可以正常鸣叫的,也就是OS程序可以正常运行,但是DWIN_SET文件夹下的256.dat文件中还是一片空白,请教各位大佬看一下哪有问题?万分感谢!


回复

使用道具 举报

3

主题

3

回帖

44

积分

新手上路

Rank: 1

积分
44
 楼主| 发表于 2021-5-22 17:30:12 | 显示全部楼层

数据导出

这是计算数据库地址和.dat文件的例子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

2

主题

1228

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11509
发表于 2021-5-24 13:41:16 | 显示全部楼层
本帖最后由 zzs999k 于 2021-5-24 13:42 编辑

MOVXR<MOD>的<NUM>是由R4:R5:R6:R7决定的,这边R4,R5,R6,R7没赋值,看您后面蜂鸣器赋值了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

3

主题

3

回帖

44

积分

新手上路

Rank: 1

积分
44
 楼主| 发表于 2021-5-24 16:01:46 | 显示全部楼层
        LDWR R4,0
        LDBR R5,0,1
        LDWR R6,0x0000
这个地方赋值了呀
回复

使用道具 举报

2

主题

1228

回帖

1万

积分

论坛元老

Rank: 8Rank: 8

积分
11509
发表于 2021-5-24 17:07:26 | 显示全部楼层
本帖最后由 zzs999k 于 2021-5-24 17:09 编辑
迷花鹿 发表于 2021-5-24 16:01
LDWR R4,0
        LDBR R5,0,1
        LDWR R6,0x0000

参考文档14页,示范代码,还有个掉电写数据库的DEMO,https://wwa.lanzoui.com/ivdW3pf75ah
回复

使用道具 举报

0

主题

25

回帖

343

积分

中级会员

Rank: 3Rank: 3

积分
343
发表于 2021-5-24 17:37:37 | 显示全部楼层
楼主,您好,请参考附件“基于DWIN_OS指令的理解与应用(os详细文档指导资料).” 里的 14~16页有详细讲解。谢谢


LDWR   R0,0X1000    ;触发条件,按键返回控件是否为1
MOVXR  R20,1,1      
IJNE   R21,1,返回退出 ; 不是1说明没有按下,不保存数据
LDBR    R20,0,2     ;按下清零键值
MOVXR   R20,0,1     






;=========================================
  LDWR R10, 0xAABB ; 待写入用户数据库的数据
  LDWR R0, 0x0008 ;DGUS 变量缓存区地址迪文科技
  MOVXR R10, 0, 1 ;R10:R11 的数据装入 DGUS 变量缓存区
  LDWR R4, 0
  LDBR R5, 0, 1
  LDWR R6, 0x0020 ;R4:R5:R6:R7 库首地址
  MOVXL 3, 1
  ; 数据写入用户数据库。执行后 R10:R11 的数据写入到用户数据库的
  ;0x00000020(R4R5R6R7)地址内。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0

主题

25

回帖

343

积分

中级会员

Rank: 3Rank: 3

积分
343
发表于 2021-5-24 17:49:22 | 显示全部楼层
楼主,您好,不好意思,请以此份为准。谢谢

LDWR   R0,0X1000    ;触发条件,按键返回控件是否为1
MOVXR  R20,1,1      
IJNE   R21,1,返回退出 ; 不是1说明没有按下,不保存数据
LDBR    R20,0,2     ;按下清零键值
MOVXR   R20,0,1     






;=========================================
  LDWR R10, 0xAABB ; 待写入用户数据库的数据
  LDWR R0, 0x0008 ;DGUS 变量缓存区地址迪文科技
  MOVXR R10, 0, 1 ;R10:R11 的数据装入 DGUS 变量缓存区
  LDWR R4, 0
  LDWR R6, 0x0020 ;R4:R5:R6:R7 库首地址
  MOVXL 3, 1
  ; 数据写入用户数据库。执行后 R10:R11 的数据写入到用户数据库的
  ;0x00000020(R4R5R6R7)地址内。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2026-4-15 06:08 , Processed in 0.035993 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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