STC15系列单片机与迪文DGUS屏应用(五):模拟调试

接下来,我们就需要用串口助手来验证一下,我们新建的dgus工程有没有问题了,首先,我们还是从最简单的入手吧,这里,最简单的自然莫过于“按键返回”控件了,那么我们尝试下从y0一直按到y5,看下串口助手会返回什么:
我们先来分析一下第一帧数据:5a a5 06 83 00 20 01 00 01,根据迪文dgus指令说明中提到的,我们可以清楚地知道,在这一帧数据中:
5a a5为数据帧的帧头;06为数据长度,即:从该为开始后面数据的个数;83为指令;00 20 为变量的地址;01 为从地址0x0020开始,返回的数据个数;00 01为变量的值
再回想上一讲我们建工程时定义的“按键返回”触控变量的地址以及键值,我们就很容易理解串口返回的这几串数据意义了,也就是说,当我们收到5a a5 06 83 00 20 01 00 01这串数据时,我们就知道是y0按下了;当我们收到5a a5 06 83 00 20 01 00 02这串数据时,就知道是y1按下……依次,我们就能识别到某一时刻,触摸屏上的那个按键被按下了。
接下来,我们继续来学习一下,如何往dgus屏中的“数据变量显示”控件中写数据。这个地方就需要用到了dgus屏的82指令—写数据存储区指令。我们直接看下《迪文dgus指令说明》中的介绍吧:
相信看到这里,大家应该很明白了,比如,我要往地址为0x0010的“定时闪烁”数据变量显示控件中写一个数字“1”,那么我们只需要给对触摸屏发送指令:5a a5 05 82 00 10 00 01就可以了,同样,我们打开串口助手,将波特率什么的都设置好,然后再发送区输入指令:5a a5 05 82 00 10 00 01,注意,这里发送的所有数据都是十六进制数。
指令发送完成后,我们可以看下触摸屏上地址为0x0010这个变量值是不是就真的会显示为1呢?
纳尼?说的好“1”呢?怎么会变成65536?什么鬼?顿时心里一阵纳闷有木有?纳闷就对了,是不是大家都忘记了之前我们定义这个变量的数据类型的时候选择的是“无符号长整数(4字节)”了?那么就意味着,他在存储区中实际上是占了两个地址,即:0x0010和0x0011,不信的话,读者可以自己尝试一下,先往0x0010写个0,然后再往0x0011写个1,看下触摸屏上是不是就会显示1了呢?答案是肯定的!

场效应管厂商:山东科达半导体有限公司简介
在Linux系统使用iptables实现外网访问内网
瞬态抑制二极管TVS的选择
华为P10最新消息:华为P10闪存门风波未平,华为P10“wifi硬件门”风波又起,网友还会买账吗?
SIM卡座的基本知识你了解多少
STC15系列单片机与迪文DGUS屏应用(五):模拟调试
固态电池原理_固态电池使用的材料
交流充电桩可提供安全稳定、友好便捷的充电服务
3μA静态电流LDO提高了工业、汽车和电池供电系统中低功耗电路的效率
Vitis调试技巧-从Vitis中导出数据到本地
vivo执行副总裁胡柏山:V1是自研影像芯片,将由X70系列首发
PCB仿真软件的电磁场求解器分类
电子管组成的无线对讲机的制作与设计
友谊的小船说翻就翻:东芝起诉西部数据 索赔10.7亿美元
LT6703具有2V迟滞的微电源电压监视器
将多个分立电容集成到固态器件中
三星S10传有陶瓷机身版本 全系列支援反向无线充电
单片机教程二十三:动态扫描显示接口电路及程序
CDMA对GSM网络的干扰进行现场测试案例与数据分析
IntelSSDS3500怎么样 水还是很深的更适合于老鸟选择