本节课介绍了DGUS TOOL工具显示控件。 本视频教学由迪文开发者论坛用户 ID 熊家余 分享提供。
本节课课程内容介绍如下: 1.介绍“显示控件”作为DGUS Tool软件中的二大类控件中的一类,另外一类是叫做”触控控件”,我们这里所谓的“显示控件”不是指一个具体的控件,而是对具有共同应用场景的一系列控件的统称,比如说”变量图标显示控件”, ”数据变量显示控件”, “艺术字变量显示控件”都属于”显示控件”的类别。 在DGUS Tool软件中, “显示控件”有很多个,本视频教程不可能为大家去一一详细讲解每一个控件的使用,我这里就以”艺术字变量显示控件”为例来进行详细讲解,然后我希望大家结合官方的” T5L DGUSII 应用开发指南.pdf”文档,能够做到举一反三,慢慢学会其他控件的使用。
2.例程设计2.1功能简介我们在”0启动界面”上创建一个”艺术字变量显示控件”,然后我们通过C51代码来动态修改此控件的分辨率属性(即整数位数和小数位数),同时让显示数值每隔1秒进行加1。
2.2 GUI界面设计 往DGUS Tool软件中添加一个启动界面,然后往此界面上放置1个”艺术字变量显示控件”,接着设置好此控件的各种属性。
2.3 C51代码设计我们可以直接利用在第1章节中已经创建好的C51项目工程模板,然后在此基础上进行修改一下,本章节例程的代码量比较少,我们就直接写在main函数中了,如下所示: #include "sys.h" xdata float val; //浮点数显示 //val:要显示的数值 //resolution:分辨率,高字节指定整数的最大位数,低字节指定保留的小数位数,当高字节传0时,则采用内部默认的整数位数 void float_val_disp(float val,u16 resolution) { #define VAL_SP 0x1004 //艺术字变量显示控件的SP地址 #define VAL_VP 0x1000 //艺术字变量显示控件的VP地址 #define RESOLUTION_ADDR (VAL_SP+5) //分辨率属性的地址,高字节设置整数的位数,低字节设置小数的位数 #define INTEGER_NUM 4 //默认的最大整数位数
if(!(resolution&0xff00))//没有指定整数的位数,则采用默认的位数 resolution |= (INTEGER_NUM<<8);
sys_write_vp(RESOLUTION_ADDR,(u8*)&resolution,1);//动态修改分辨率属性 sys_write_vp(VAL_VP,(u8*)&val,2);//设置要显示的数值 }
void main(void) { sys_init();//系统初始化
val = -12.3456f;//赋初值 while(1) { float_val_disp(val,3);//显示数值,保留3位小数 sys_delay_ms(1000);//精确延时1秒 val++;//每隔1秒加1 } }
教学视频连接:https://www.yuanzige.com/course/detail/80041?section_id=81075
bilibili视频连接:https://www.bilibili.com/video/BV1ea4y147UN/
|