学习需要,资料备份,根据dwin的官方文档及网络资料整理而来。
一、 基础知识理解
1.1、变量地址和描述指针
VP(变量地址)和SP(描述指针)通常是指显示变量功能的两种定义,两者共用0000到6FFF地址。
(1) VP指某个变量显示功能必须需要的实际地址,必须要定义。VP指定变量存储器空间的数据操作首(字)地址,存放页面上对应的配置按钮的数据;
(2) SP指某个VP地址显示的控件的属性地址,以便在应用中可以让用户指令修改,达到实时控制不同显示效果目的如字体颜色、位置、状态等属性。可以不定义(默认FFFF)。如图1所示,红色的框里面的内容即为描述指针(属性地址),黄色的框里面的内容为变量地址(实际地址)。
![8192ffeddd451e39410f4c3d33b1bc00.png](https://i-blog.csdnimg.cn/blog_migrate/dee45cab01a80ea81ea89dd2bdf547d8.jpeg)
图1 显示变量地址
1.2、数据变量类型
DGUS所支持的数据类型如图二所示。
![529c8720005227a5d682419e9ce52969.png](https://i-blog.csdnimg.cn/blog_migrate/ec295b2f3354730f37dfd65d060d97ec.png)
图2 数据类型
类型说明:
整数(2字节):-32768(0x8000)到+32767(0x7FFF)
长整数(4字节):-2147483648(0x80000000)到+2147483647(0x7FFFFFFF)
VP 高字节:只显示 VP 高字节数据
VP 低字节:只显示 VP 低字节数据
超长整数(8字节):-9223372036854775808 到 9223372036854775807
无符号整数(2字节):0(0x0000)到 65535(0xFFFF)
整数、小数位
整数位为整个数据的长度,包括小数位。小数采用定点小数表示,用户自定义小数位数,比如 0x186ED(100077),规定小数为 2 位时,表示 1000.77;0xE7913表示-1000.77(先把十进制数转化为十六进制数,取补码加一得到相应的负数)。在实际的使用过程中,要按接受的数据类型配置相应的数据类型。
1.3、DWIN_SET内部文件理解
a、0号字库(只能显示ASCII码类型的,显示汉字的需要其他字库的支持,这个可以根据实际的需求利用ts3字库生成器生成)。
b、12是GBK录入输入法文件(暂时用不到)。
c、13是触控配置文件(暂时用不到)。
d、14是显示配置文件(自动生成)。
e、15-21是系统预留。
f、22是初始值加载文件(自动生成)。
g、23是os二次开发软件写ASM文件编译生成后下载到屏里面的文件(暂时用不到)。
h、24开始是用户自定义从:如图标库大小大于256KB,假设为257KB,那么将占用两个字库空间,假设字库命名“40_指示灯.ICO” 大小为257KB,那么占用了40,41 两个字库空间,下一个图标库不能写为41.ICO,必须由42序号命名开始。
i、config.txt系统配置说明。
DGUS软件系统配置点击自动生成或手动修改:
R1=03 ;波特率,03=9600
R2=2C ;2CH=00101100B 参考开发指南R2寄存器定义表格.2 .3 .5位配置(软件工作模式配置寄存器)
R3=5A ;帧头高字节
R6=40 ;触摸屏控制背光启用后,点击触摸屏后背光亮度(00-40)
R7=10 ;触摸屏控制背光启用后,一段时间不点击,背光关闭的亮度
R8=1E ;30秒不点击触摸屏,触摸屏背光降低到上面R7=10
RA=A5 ;帧头低字节
RUN_DWIN_OS ;启用os (STOP_DWIN_OS;关闭os)
TP_CORRECT ;插卡配置时开启触摸屏校准一次
RC=00 ;参考RC寄存器8个位的配置。
1.4 、实际变量地址规划
(1)变量图标 占用一个地址。如5A A5 05 82 0001 0001显示0001地址的1号图标。
(2)动画变量图标 占用两个地址。如5A A5 05 82 0002 0001显示0002地址的动画图标开始动画,另一个地址理解为辅助用。
(3)位变量图标 占用三个地址,实际指令是占用一个地址,如5a a5 05 82 0004 FFFF将0004地址的16个位写满,另外两个地址,是辅助地址,主要是辅助位变量图标的动画显示用的,辅助地址不可以访问,可以接在后面设置如0005,0006。
(4)文本变量 一个汉字占用两个字节地址,如发指令显示北京,5A A5 07 82 0008 B1B1 BEA9。
(5)数据变量 不同的数据类型占用的地址大小不同,最少占两个字节地址,如设置整数,发送5A A5 05 82 000A 000B,在0x000A地址里写入11,如长整数:5A A5 07 82 000B 0000 000B 在000B和000C地址里面写入数11,数据变量显示的单位占用的是描述指针地址,最多可显示11个ASCII码。
(6)RTC时间 不占用变量地址,可以用描述指针。
(7)动画图片 不占用变量地址,可以用描述指针。
(8)HEX变量(时间变量) 占用变量地址根据右边设置 Byte_Mum的长度来的,比如Byte_Mum设置4,那么地址占用是4个字节,也就是2个变量地址,编码字符串占用描述指针的地址。
DGUS标准屏变量地址0000H~6FFFH。
描述指针间隔0x10个地址间距,如5000,5010,5020,5030。建议描述指针可以设置4000到6F00之间,变量地址4000H之前,这样就不会产生冲突,6F00到6FFF之间的变量地址是硬件参数部分用的不推荐使用这个部分。6FFF之外的变量地址不要使用,会出现不可预计的错误。
1.5、五条指令
DGUS液晶屏共有5条通信指令。如图3所示,这5条指令被分为3组,一组(0x80、0x81)用于对DGUS寄存器区的访问,一组(0x82、0x83)用于对用户RAM区的访问,一组(0x84)用于刷新曲线。如图三所示&