大家好,欢迎来到IT知识分享网。
陶晶驰串口屏(也称为USART HMI,即Human Machine Interface的缩写,意为“人机接口”或“人机界面”)是深圳市淘晶驰电子有限公司生产的一种智能串口显示屏。以下是关于陶晶驰串口屏的详细介绍:
- 丰富的接口与功能:
- 支持TTL/232接口,方便与各种MCU(微控制器单元)进行交互。
- 具备音视频动画播放功能,以及丰富的动态特效。
- 支持实时时钟等外设,满足多种应用场景的需求。
- 优异的显示效果:
- 采用TFT-LCD屏幕,具有高分辨率和高亮度,显示颜色丰富。
- 支持触控操作,提升用户体验。
- 强大的编程能力:
- 陶晶驰的USART HMI软件支持类似C语言的编程语言,具有清晰的层次和强大的处理能力。
- 提供丰富的运算符和数据类型,便于构建各种数据结构。
- 便捷的开发体验:
- 提供1:1模拟全系列串口屏的功能,方便开发者进行调试。
- 产品固件自动升级,确保设备始终保持最新状态。
- 丰富的学习资料:
- 淘晶驰在官网、资料中心、公众号等多个渠道提供丰富的上位机学习资料。
- 提供各个行业的应用UI供开发者参考和使用。
- 通讯协议
(一)触摸屏发送数据
1.格式:帧头 功能码 启动/停止命令 输出电压幅值 输出频率低字节 输出频率高字节 输出占空比低字节 输出占空高低字节 校验码 帧尾
2.详细说明如下:每部分都是由一字节组成,一帧数据共10字节。
①帧头: 55H
②功能码:33H
③启动/停止命令:运行0x09,停止 0x06
④输出电压幅值: 电压幅值设定值乘以10
⑤输出频率值:频率设定值乘以10,转换为二进制数后,分两字节发送
⑥输出占空比:占空比设定值乘以10,转换为二进制数后,分两字节发送
⑦校验码:就是由 帧头 功能码 启动/停止命令 输出电压幅值 输出频率低字节 输出频率高字节 输出占空比低字节 输出占空高低字节 这八个字节的数求和,取反,保留低8位就是校验码
⑧帧尾: AAH
n3.val=n0.val*10 n4.val=n1.val*10 n5.val=n2.val*10 if(bt0.val==1) { if(tm2.en!=1) { tm2.en=1 } bt0.txt="停止" n8.val=n5.val&0xff00>>8 n9.val=n4.val&0x00ff>>8 n10.val=0x55+0x33+0x09+n3.val+n4.val+n8.val+n5.val+n9.val n7.val=n10.val^0xff printh 55 33 09 prints n3.val,1 prints n4.val,2 prints n5.val,2 prints n7.val,1 printh AA //发送帧尾 //实际写入40-43,共4字节的掉电存储空间空间 wepo n0.val,40 //实际写入44-47,共4字节的掉电存储空间空间 wepo n1.val,44 //实际写入48-51,共4字节的掉电存储空间空间 wepo n2.val,48 //实际写入52-55,共4字节的掉电存储空间空间 wepo n13.val,52 }else { tm2.en=0 bt0.txt="启动" n6.val=0x55+0x33+0x06+n3.val+n4.val+n5.val n7.val=n6.val^0xff printh 55 33 06 prints n3.val,1 prints n4.val,2 prints n5.val,2 prints n7.val,1 printh AA //发送帧尾 }
(二)触摸屏接收数据
1.格式:帧头 功能码 运行状态 输出电压幅值 输出频率低字节 输出频率高字节 输出占空比低字节 输出占空高低字节 输入电压幅值 校验码 帧尾
2.详细说明如下:每部分都是由一字节组成,一帧数据共11字节。
①帧头: 55H
②功能码:CCH
③运行状态:运行0x09,停止 0x06
④输出电压幅值: 1字节数,除以10就是实际值,小数点后保留1位
⑤输出频率值:频率值由16位两字节组成,把这个16位数转换为十进制,除以10就是实际频率,小数点后保留1位
⑥输出占空比:占空比由16位两字节组成,把这个16位数转换为十进制,除以10就是实际占空比,小数点后保留1位
⑦输入电压:1字节数,除以10就是实际值,小数点后保留1位
⑧校验码:就是由 帧头 功能码 运行状态 输出电压幅值 输出频率低字节 输出频率高字节 输出占空比低字节 输出占空高低字节 输入电压幅值 这九个字节的数求和,取反,保留低8位就是校验码
⑩帧尾: AAH
if(n13.val==0) { bt0.val=0 } while(usize>=frameLength&&getFrameFlag==0) { if(u[0]==0x55&&u[10]==0xAA) { //找到帧头,退出循环 getFrameFlag=1 }else { //如果帧头不对,就一直删除1个字节,直到不满足条件退出循环 udelete 1 } } if(getFrameFlag==1) { x1.val=u[3] n11.val=u[5]*256+u[4] x2.val=n11.val n12.val=u[7]*256+u[6] x3.val=n12.val x0.val=u[8] udelete frameLength //删除已经解析过的数据 getFrameFlag=0 //清空标记变量 }
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122032.html