| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> USART HMI智能串口屏 一篇就够!保姆级教程 -> 正文阅读 |
|
[嵌入式]USART HMI智能串口屏 一篇就够!保姆级教程 |
目录 ·HMI串口屏介绍 ·HMI串口屏开发实操 ? ? ?·准备 ? ? ?·界面认识 ? ? ?·写命令 ? ? ?·下载 ·HMI串口屏与单片机(stm32)双向通信 【 功能实现:
先上效果视频 USART HMI智能串口屏整体功能展现
什么是HMI? HMI 是Human Machine Interface 的缩写,“人机接口”,也叫人机界面。人机界面是系统和用户之间进行交互和信息交换的媒介, 它实现信息的内部形式与人类可以接受形式之间的转换。 什么是串口HMI? 串口HMI 就是设备封装好HMI 的底层功能以后,通过串口(USART 232)与用户MCU 进行交互,比如MCU 可以随时通过USART 发指令通知设备切换某个页面或者改变某个组件的属性。设备也可以随时通过USART 通知用户MCU 操作者目前触摸了页面上的某个组件或者设备当前进入了某个页面。 简而言之 USART HMI智能串口屏就是带串口控制的液晶屏(TFT-LCD) 那 为什么要用HMI串口屏?TFT-LCD触摸屏不够吗? 傻宝 ? 触摸屏是这样的 这样的 ?? 而串口屏 是这样的 这样的 ?? 触摸屏的按键或许你得构思如何构建,页面返回你也许还需要清屏重新显示内容。而HMI串口屏只需要将自己设计的图片导入,在此基础上添加一下页面的切换口令(page)等等。因为单纯对屏幕进行而无需通信的操作完全不需要单片机。 简而言之&&个人认为 USART HMI智能串口屏 最直接的优势就是容易上手——界面的设计与串口屏自身的一些操作直接在软件上操作即可 最直观的优势就是界面专业化——根据不同主题设计不同风格的界面。 大概可能相较于TFT-LCD显示屏唯一的缺点就是——贵了一些
1.准备 对串口屏进行开发即设计界面之前,你需要先准备好以下软硬件。 ?? 上位软件(开发软件):USART HMI + Framework 3.5(语言开发软件) ?? 链接:http://tjcfile.iicp.net:885/USARTHMI/USARTHMIsetup_1.63.1.exe(Framework无需自己去下载 一般下载的USART HMI时会自动弹出提醒你要下载) ?? 下载工具:①SD卡+读卡器 或 ②USB转串口 或 ③USB转TTL(或!!!!) ? ?? 2.界面认识 ????????①还未进入HMI文件的页面 先讲解几个常用或比较重要的工具
????????②进入HMI文件的页面 进入前还需要根据自己的串口屏型号大小进行选择并设置横屏还是竖屏。 3.写命令 ? ? ? ? ? ? ? ? ? ? ? ? ? 帮助的指令集里面有非常完整的指令集,功能如何,如何使用,例程都是比较详细的。这里仅示范几个命令的效果。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ????????????????????????????????????????方框圈住为ID号,圆圈圈住为名称 ? ? ? ?最后一步 调试get√(效果如下)? 串口屏刷新页面功能展展示(调试) ????? ?·prints 从串口打印一个变量/常量 ??????·printh 从串口打印一个Hex ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 安置一个数字控件? ?按下事件如上? ?弹起事件是n0.val+=1 调试效果如下(详细解释大家就去看help吧 不懂再问哦 大家一定一定要多看help 多写命令!) 【prints返回的变量默认是四个字节整形数据hex数据 储存方式为小端模式 即地位在前 ? ?,后面的0作用是发送长度为自动长度即实际长度】 串口屏发送命令功能展示 4.下载 ①SD卡+读卡器 串口屏上电:VCC、GND和单片机的5V、GND接好,单片机上电即可,这是一种方式,总之,VCC和GND要对应接好就可以了 文件→输出生产文件(到SD卡、即读卡器插入显示的某盘)→将SD卡插入串口屏→串口屏上电→下载完成100%→串口屏断电→拔SD卡→再上电即可√ 注意顺序!SD卡必须在上电前插入,SD卡必须在断电后拔出
先hex发送 ff ff ff(结束之前的指令) 字符串发送(取消hex发送)connect 0xff 0xff 0xff 收到comok 1,101,TJC4024T032_011R,52,61488,D264B8204F0E1828,16777216即为成功 一般串口屏都默认是9600的波特率,下载也可以让它自动搜索
1.STM32控制串口屏对应的数值、文本完成相应变化 stm32单向控制只需掌握改变串口屏控件属性的命令,并会用串口将其发送
使用:
2.串口屏控制STM32的LED翻转? 3.?串口屏通过按键输入数值并发送给单片机,单片机接受并实时显示在串口屏上 实现二者的双向通讯,我们需要制定一个数据格式(方便写代码等) 我制定的数据格式为: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?页面 id + 控件id + 十位数值 + 个位数值 + 0D + 0A ? ?? 0D 0A的作用是什么? 详细大家可以去看stm32基于库函数的usart文件夹介绍 这里简单解释:串口接收到回车(0D 0A)则标记 USART_RX_STA 的第 15 位,这样即为完成一次接收。而我们在执行完相应程序式将该位清除,从而可以开始下一次的接收。 体现在代码中就是
?既然已经能够顺利接受数据,那我们重点就放在解析数据。 可以设置格式统一的包头(比如get命令它的返回值开头一定是0x70/0x71),通过检测包头以判断 数据是否开始。也可以简单粗暴的直接if,满足返回命令的一段独一无二的值或所有值即可执行操作(函数中写满足我们相应功能的函数 如LED反转、数值计算之后再显示)。由于功能并不复杂,我们选择第二种,简单粗暴。而我们秩序 通常出口屏需要反复调试修改,大家需要熟练掌握调试、利用串口助手监控串口屏往串口发送了什么。(ps:用前面②/③的连接方式,用串口助手监控该串口即可) 最后 如果没有串口屏也没有单片机怎么办? 介绍一种设置虚拟串口以供靠软件即可观察双向通讯的数据。 常用的虚拟串口软件:Virtual Serial Port Driver(VSPD) 下载链接:https://download.csdn.net/download/weixin_54057317/20705110(直接下载!无需积分) ?1.将一对串口设置为虚拟串口 ?2.如图设置(虚拟串口为COM1和COM2) ?然后在串口发送就相当于单片机对串口屏发送啦 再补充说一点: 单片机是有很多串口的 我们前面说的VCC-VCC GND-GND RX-TX TX-RX RX可以是PA10(USART 1)? ?也可以是? PB11(USART 3) 与之相对应 TX可以是PA9(USART 1)? ?也可以是? PB10(USART 3) 但是单片机烧入程序是需要PA9与RX? PA10与TX相连的 所以我们想让串口屏与之双向通讯的时候还得拔掉跳线帽 所以大家最好用别的串口? 最后的最后! 放上对于HMI的资源与单片机和串口屏双向通讯的资源: https://download.csdn.net/download/weixin_54057317/20705676 同时 点个赞吧~ ?有什么问题都可以留言问哦! |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 18:28:06- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |