迪文科技论坛

 找回密码
 立即注册
搜索
查看: 4947|回复: 13

OS寄存器

[复制链接]

6

主题

32

回帖

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
发表于 2019-8-5 16:26:18 | 显示全部楼层 |阅读模式
本帖最后由 HXS 于 2019-8-5 16:53 编辑

有没有大佬知道,,R1,R2,R3,R4,,,这些分别对应什么,有没有什么表可以查看的吗?
回复

使用道具 举报

0

主题

220

回帖

2648

积分

金牌会员

Rank: 6Rank: 6

积分
2648
发表于 2019-8-5 17:16:07 | 显示全部楼层
R0-R9是OS指令特殊规定用的,特别注意的是R0和R1是专门用于迪文屏变量地址存放的OS寄存器,建议处理数据的寄存器从R10开始。楼主可以参考下面的图片截图。

本帖子中包含更多资源

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

x
回复

使用道具 举报

6

主题

32

回帖

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
 楼主| 发表于 2019-8-5 18:03:30 | 显示全部楼层
wnly 发表于 2019-8-5 17:16
R0-R9是OS指令特殊规定用的,特别注意的是R0和R1是专门用于迪文屏变量地址存放的OS寄存器,建议处理数据的 ...

那DGUS变量代表的什么,,我现在就好像知道一个02是蜂鸣器
回复

使用道具 举报

0

主题

220

回帖

2648

积分

金牌会员

Rank: 6Rank: 6

积分
2648
发表于 2019-8-6 08:57:20 | 显示全部楼层
本帖最后由 神秘の宅叔 于 2019-8-6 08:58 编辑

DGUS变量是可以存放数据的,是变量空间,变量地址是82/83指令去操作;蜂鸣器的是寄存器空间,寄存器是80/81指令去操作;两个占用的空间也是不一样的。
回复

使用道具 举报

82

主题

153

回帖

2867

积分

超级版主

Rank: 8Rank: 8

积分
2867
发表于 2019-8-6 09:12:32 | 显示全部楼层
本帖最后由 神秘の宅叔 于 2019-8-6 09:16 编辑
wnly 发表于 2019-8-6 08:57
DGUS变量是可以存放数据的,是变量空间,变量地址是82/83指令去操作;蜂鸣器的是寄存器空间,寄存器是80/81 ...

对于DGUS1,
采用变量驱动工作,例如数据变量显示,设置的控件地址0000-6fffh的区间,相当于屏的内存RAM,直接用写0x82指令给数之后控制GUI的状态,也可以通过串口指令用0x83指令读地址。

DGUS1的寄存器,也就是楼主说的0x02,蜂鸣器鸣叫控制寄存器。通过串口指令用0x80指令控制。切换页面寄存器0x03,0x04,串口指令5A A5 04 80 03 0001切换页面1


对于DGUS2,
变量地址分为:
1、系统变量接口(0x0000-0x0FFF 变量存储器空间),例如类似控制页面切换等相关系统控制访问的地址。
2、用户变量存储空间,可以任意使用。0x1000-0xFFFF ,这点和DGUS1的变量地址是一样的。
所以看到DGUS2的进步是彻底采用变量驱动工作,例如切换页面是相关到了系统变量接口,指令示例:5A A5 07 82 0084 5A01 0001,显示背景图片的01序号图片
而他的变量显示控件例如:数据变量显示,设置的控件地址0x1000-0xffff的区间,相当于屏的内存RAM,直接用写0x82指令给数之后控制GUI的状态,也可以通过串口指令用0x83指令读地址。这点和DGUS1是一样的。

DGUS2的寄存器,写在了文档《基于T5L /T5CPU的DWIN OS程序开发指南V*》里面,例如用户定时器定时器。一般DGUS2的寄存器不需要用户再发0x80 81指令访问(如果要访问注意指令格式和DGUS1的区别),通常用于迪文os的汇编指令进行控制、调用。
回复

使用道具 举报

6

主题

32

回帖

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
 楼主| 发表于 2019-8-6 09:20:27 | 显示全部楼层
神秘の宅叔 发表于 2019-8-6 09:12
对于DGUS1,
采用变量驱动工作,例如数据变量显示,设置的控件地址0000-6fffh的区间,相当于屏的内存RAM,直 ...

我现在要写MODBUS协议,寄存器配置的有问题,你们当时给了一个51的历程,说看着51的去配置寄存器,现在就是配置好了,但是不能通信。
回复

使用道具 举报

0

主题

48

回帖

975

积分

高级会员

Rank: 4

积分
975
发表于 2019-8-6 10:29:02 | 显示全部楼层
楼主,您好,具体用的是哪个型号的液晶屏?MODBUS模式配置已经完成了吗?如果是DGUS1代屏,需要更新内核固件之后,在22文件中配置MODBUS指令

DGUSII屏,也需要拷入对应的DWIN OS MODBUS主机/从机.bin文件,然后在22文件中配置指令
回复

使用道具 举报

6

主题

32

回帖

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
 楼主| 发表于 2019-8-6 10:30:19 | 显示全部楼层
DWIN_柯伊伯 发表于 2019-8-6 10:29
楼主,您好,具体用的是哪个型号的液晶屏?MODBUS模式配置已经完成了吗?如果是DGUS1代屏,需要更新内核固 ...

我现在用C写的,没有用汇编,汇编以前没搞过,
回复

使用道具 举报

6

主题

32

回帖

364

积分

中级会员

Rank: 3Rank: 3

积分
364
QQ
 楼主| 发表于 2019-8-6 10:44:39 | 显示全部楼层
DWIN_柯伊伯 发表于 2019-8-6 10:29
楼主,您好,具体用的是哪个型号的液晶屏?MODBUS模式配置已经完成了吗?如果是DGUS1代屏,需要更新内核固 ...

T5L的  开始用汇编的代码(有历程),现在打算使用C开发,有一个51的代码,改了之后,测通讯时没反应,不会回应数据
回复

使用道具 举报

0

主题

48

回帖

975

积分

高级会员

Rank: 4

积分
975
发表于 2019-8-6 11:17:55 | 显示全部楼层
您好,可以直接用附件中的标准配置文件分为主从机,是基于串口4的,将OS代码中的串口4目录下DWIN_OS_T5_MODBUS_v7.BIN放到DWIN_SET文件夹中,然后根据主从机的不同,采用配置文件目录下不同的22文件(一个工程中只能有一个22文件,所以必须把工程自动生成的22文件删掉,或者将MODBUS指令复制到工程原有的22文件中),即可以实现,不用您再去写C,后续如果要改指令,直接可以在22文件中配置

本帖子中包含更多资源

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

x
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-21 06:26 , Processed in 0.038882 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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