请选择 进入手机版 | 继续访问电脑版

迪文科技论坛

 找回密码
 立即注册
搜索
热搜: T5L 视频屏 DGUS OS
查看: 2565|回复: 5

使用DGUS II的数据库为什么存储不了数据

[复制链接]

101

主题

160

帖子

1224

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1224
发表于 2019-5-22 15:43:01 | 显示全部楼层 |阅读模式

T5只能通过向变量地址0008H写入数据来实现数据库的读写,不再支持movxl指令,同时数据库的读写地址和长度只能是偶数。并且在发送完写数据库的指令后直接去读数据是读不出来的,因为现在的T5内核运行周期非常快,当发送数据库写入命令后底层可能还没有执行完数据的存储,但由于运行周期太快所以已经到了读数据的指令,就会造成读取的数据不对。正确的办法是在数据库中存储了数据后不断检测0008的高字节,如果高字节清零了代表底层已经执行完了数据库的写入。再执行下一步,写数据库指令如下:


本帖子中包含更多资源

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

x
回复

使用道具 举报

5

主题

19

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2019-8-10 12:50:24 | 显示全部楼层
请问楼主发的图片是那个文件啊,能发一下吗
回复

使用道具 举报

0

主题

85

帖子

441

积分

中级会员

Rank: 3Rank: 3

积分
441
发表于 2019-8-10 13:09:45 | 显示全部楼层
591196480 发表于 2019-8-10 12:50
请问楼主发的图片是那个文件啊,能发一下吗

这就是T5开发指南里面的内容,你目前用的屏型号是什么,我发相对应的给你参考。
回复

使用道具 举报

5

主题

19

帖子

58

积分

注册会员

Rank: 2

积分
58
发表于 2019-8-10 13:15:16 | 显示全部楼层
哦哦,我找到了,谢谢
回复

使用道具 举报

6

主题

33

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2019-8-13 09:56:18 | 显示全部楼层
  1. // 读写FLASH操作
  2. void flash(int mod,long addr_flash,int addr, int len)
  3. {
  4.         /*
  5.         0x08 NOR_FLASH_RW_CMD 4
  6.         D7:操作模式 0x5A=读 0xA5=写,CPU 操作完清零。
  7.         D6:4:片内 Nor Flash 数据库首地址,必须是偶数,0x000000-0x02:7FFE,160KWords。
  8.         D3:2:数据变量空间首地址,必须是偶数。
  9.         D1:0:读写字长度,必须是偶数。
  10.         */
  11.     char rw_flash_cmd[8]={0};    //数据库读操作
  12.         rw_flash_cmd[0] = mod;
  13.         rw_flash_cmd[1] = (unsigned char)(addr_flash >> 16);
  14.         rw_flash_cmd[2] = (unsigned char)(addr_flash >> 8);
  15.         rw_flash_cmd[3] = (unsigned char)(addr_flash & 0xFE);
  16.         rw_flash_cmd[4] = (unsigned char)(addr >> 8);
  17.         rw_flash_cmd[5] = (unsigned char)(addr & 0xFE);
  18.         rw_flash_cmd[6] = (unsigned char)(len >> 8);
  19.         rw_flash_cmd[7] = (unsigned char)(len & 0xFE);
  20.         //send_data_com(COM_PORT,rw_flash_cmd,8);        // debug
  21.         write_dgus_vp(0x08,rw_flash_cmd,4);        //启动读Flash
  22.         //等待数据读取OK
  23.         while(1)
  24.     {
  25.                 delayms(20);
  26.                 read_dgus_vp(0x0008,rw_flash_cmd,1);
  27.                 if(rw_flash_cmd[0]==0x00)
  28.                         break;
  29.     }
  30. }
复制代码
回复

使用道具 举报

28

主题

165

帖子

724

积分

高级会员

Rank: 4

积分
724
发表于 2019-9-18 13:28:53 | 显示全部楼层

好代码!
send_data_com(COM_PORT,rw_flash_cmd,8);
read_dgus_vp(0x0008,rw_flash_cmd,1);
这两个不错,但没贴出来
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2019-12-15 11:39 , Processed in 0.024793 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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