SDWb_Lua动态修改变量文本颜色案例说明.pdfVIP

SDWb_Lua动态修改变量文本颜色案例说明.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

SDWb_Lua动态修改变量文本颜色案例说明

VGUS串口屏上变量的显示格式都是固定的,是由VGUS上位机软件设置好并

下载到VGUS串口屏中的。在串口屏显示过程中,如果用户需要临时修改变量显

示格式,则可以通过描述指针实现。本案例介绍了如何通过Lua脚本操作描述指

针动态修改变量的文本颜色。整个过程无需单片机参与、无需串口指令控制。

一.案例功能介绍

1.1界面功能

图1空气净化器主界面

如图1所示,本案例的界面工程是应用于空气净化器上的。主界面右上方的

圆形背景框内有一个3位整数,用于显示当前PM2.5浓度。为了更直观的展现

当前PM2.5浓度,图1中的圆形背景框的颜色、PM2.5浓度数值显示颜色会根

据当前显示的PM2.5浓度数值改变而改变,如表1所示。

表1PM2.5浓度对与空气质量等级对应关系

PM2.5浓度空气质量等级背景框颜色、PM2.5数值颜色

PM2.535优绿色

35PM2.575良蓝色

75PM2.5115轻度污染黄色

.中度污染橙色

115PM25150

150PM2.5重度污染红色

下文将详细介绍如何通过Lua脚本操作描述指针、动态修改文本显示颜色,

实现上述PM2.5浓度的显示效果。

1.2控件设计

如图1所示,本案例用到了三个数据变量控件分别显示温度、湿度、PM2.5

的数值。PM2.5数值对应的的数据变量控件下方有一个变量图标控件,用来显

示一个透明的图标,图标内容为一个圆形,用作PM2.5数值显示的背景框。

图2PM2.5数据变量控件属性图3背景框变量图标控件属性

PM2.5对应的数据变量控件属性如图2所示,其变量地址设置为0x0001,

变量类型为unsignedint型,3位整数,采用无效位补零的显示模式。背景框变

量图标控件属性如图3所示,变量地址设置位0x000A,变量下限上限范围位0-

4,分别对应13-17号图标,其图标样式如图4所示。

图4背景框图标

动态修改数据变量文本颜色需要通过描述指针实现,所以PM2.5数值对应

的数据变量显示控件需要设置描述指针,描述指针的使用方法可以参考《VGUS

串口屏用户开发指南》。由图2可知,该控件的描述指针设置为0x4000,如图5

所示,通过查询《VGUS串口屏用户开发指南》中的“表6-3-8”可知数据变量

文本颜色对应的描述指针偏移量为0x03,所以存放数据变量文本颜色属性的变

量地址为0x4000加上偏移量0x03,也就是0x4003。往0x4003里写入16位颜色

数据就可以修改数据变量的文本颜色。同时修改背景框颜色需要往地址0x000A

里写入上下限范围内的变量值,来显示不同背景图标从而达到修改背景框的颜色

的目的。

图5数据变量文本颜色偏移量

1.3流程设计

本案例的流程图如图6所示,串口屏上电后在Lua脚本初始化回调函数下开

启定时器。在定时器超时回调函数中周期性读取PM2.5对应地址的数值,将该

数值赋值给定义的变量var1,然后通过if语句判断var1的数值大小,确定当前

的空气质量等级。当前空气质量等级用变量level1表示,level1数值的范围为1-

5,分别对应优、良、轻度污染、中度污染、中度污染五个空气质量等级。接下

来判断当前空气质量等级与上一次读取的空气质量等级是否相同,这里定义一个

变量temp1表示上一次读取到的空气质量等级,当level1不等于temp1时,则

根据空气质量等级来改变数据变量的文本颜色,以及背景框的颜色,并将当前l

evel1

文档评论(0)

wulianjishu666 + 关注
实名认证
文档贡献者

嵌入式物联网技术交流指导,wulianjishu666

1亿VIP精品文档

相关文档