——文档转载自电子发烧友
一、介绍 之前体验过不少图形系统方案,比如emWin、miniGUI、QT,串口屏的主要特点在于开发简单,无需学习复杂的GUI细节,只需要会读写串口数据即可。迪文的这款COF智能串口屏除了传统串口屏的功能外,还提供了一个额外的高性能51单片机核心给用户使用,拥有常见的i2c、uart、can等通信接口和GPIO,可以说是非常给力了,对于一些应用场景可以直接省掉一颗MCU。经过一段时间的摸索和逛迪文论坛,并在热心的迪文工程师的指导下,终于学会了这款串口屏的基本应用,完成了项目开发。
本次设计的是基于迪文串口屏的室内空气质量检测项目,利用迪文串口屏的用户51单片机核通过uart接口与盛思锐SEK-SVM40模块通信,读取到 VOC指数、相对湿度和温度,并使用DGUS_V7.634设计UI界面,一个界面用于展示读取的数据,另一个界面用于显示参数曲线。若通过GPIO驱动继电器控制风机等设备,可扩展空气净化器等应用项目。
二、UI设计 项目需要显示VOC指数、温湿度3个参数和曲线。因此设计了2个页面,准备好背景图。
三、DGUS软件设置
然后在第一个界面上添加数据变量控件、变量图标显示控件和基础触控控件,在第二个界面上添加数据变量控件、基础触控控件和动态曲线控件,在第三个界面上添加基础触控控件。开发流程在官方文档《T5L DGUSII 应用开发指南20220124.pdf》中写的十分详细了,即使有疑问的地方在迪文官方论坛也能找到答案。
数据变量控件属性设置
动态曲线控件属性设置
基础触控控件属性设置
四、c51单片机程序设计 项目中用到串口2作为日志打印用,串口5和传感器模块通信,官方文档《迪文 T5L ASIC应用开发指南.pdf》详细介绍了用户c51单片机核的开发方法,在迪文论坛也有官方或者网友分享的参考例程,上手还是十分简单的。
三通道曲线显示函数封装如下: void t5l0_write_3chart(unsigned short x,unsigned short y,unsigned short z) { #define CHART_ADDR 0x310 #define CHART_NUM2 3 #define POINT_NUM 1
#define CH0 0 #define CH1 1 #define CH2 2 unsigned char cmd[6+POINT_NUM*2+8]={0x5a,0xa5,CHART_NUM2,0x00}; cmd[4]=CH0; cmd[5]=POINT_NUM; cmd[6]=(unsigned char)(x>>8); cmd[7]=(unsigned char)x;
cmd[8]=CH1; cmd[9]=POINT_NUM; cmd[10]=(unsigned char)(y>>8); cmd[11]=(unsigned char)y;
cmd[12]=CH2; cmd[13]=POINT_NUM; cmd[14]=(unsigned char)(z>>8); cmd[15]=(unsigned char)z;
write_dgusii_vp(CHART_ADDR,cmd,3+POINT_NUM+4); }
迪文这款屏体验十分优秀,不管是GUI开发还是51核单片机开发,官方都有详细的资料和论坛资源支持,对于玩过单片机、MCU、MPU的人来说上手十分简单。
串口2日志打印效果
|