USART HMI

本文介绍了USART HMI(串口人机接口),它通过串口与MCU通信。以陶晶驰USART HMI串口屏为例,阐述了开发软件版本,说明了硬件和软件端的准备工作。还详细介绍了文本控件的属性参数,如坐标、宽高、字符间距等,以及读写属性参数的相关注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简介


HMI是Human Machine Interface ( “人机接口”)的缩写 ,也叫人机界面。USART HMI即串口人机接口,其将底层功能封装在HMI设备中,通过串口与MCU 进行通信交互,MCU只需通过串口与HMI设备发送/接收指令,HMI设备即可作出相应响应。

2. HMI设备端


以陶晶驰USART HMI串口屏为例。

淘晶驰串口屏官方手册

2.1 USART HMI开发软件

软件版本:1.61.7

在这里插入图片描述

2.2 准备工作

  1. 硬件端,使用USB转TTL转接器连接PC与串口屏。

注:RX,TX为TTL电平,非232接口。串口屏供电5V.

  1. 软件端,新建工程。

  2. 选择对应的串口屏型号。
    在这里插入图片描述

  3. 在Program.s文件中配置好参数。

在这里插入图片描述

//以下代码只在上电时运行一次,一般用于全局变量定义和上电初始化数据
int sys0=0,sys1=0,sys2=0     //全局变量定义目前仅支持4字节有符号整形(int),不支持其他类型的全局变量声明,如需使用字符串类型可以在页面中使用变量控件来实现
baud=115200 // 波特率
bkcmd=3 // 配置成功或失败都返回结果
dims=100 // 屏幕亮度100%
// 以上配置必须在 page 0语句前完成
page 0                       //上电刷新第0页
  1. 工具 - 字库制作,根据需要设置字高,编码(与工程编码保持一致),字体,范围,字库名称,然后点击生成字库,保存 - 加载使用,完成点击字库页面查看字库是否加载成功。

若没有加载成功,点击"+"号加载刚刚保存的字库。

在这里插入图片描述
在这里插入图片描述

  1. 配置完成,开始开发。

2.3 控件

2.3.1 文本

官方介绍

  • 属性

属性栏内绿色字体参数都是可以随时修改的。黑色的只能在开发软件中修改或不可读/写。

下面将对有必要详细说明的属性参数进行详述。
在这里插入图片描述

  • x,y

其描述控件在屏幕上的像素坐标位置。以屏幕左上角为像素坐标原点(x=0,y=0).

T0,K0系列产品,x,y属性只能从:0–最大分辨率。不能超出屏幕显示区域。
X系列产品,x,y属性可以超出屏幕坐标范围(-6000~+6000),但是超出屏幕将被裁减,不会显示出来。

  • w,h

其描述控件在屏幕上宽度和高度(以像素大小为单位)。

T0,K0系列产品,w,h属性只能从:0–最大分辨率。不能超出屏幕显示区域。
X系列产品,x+w,y+h的值可以超出屏幕坐标范围,但是超出屏幕将被裁减,不会显示出来。

  • spax,spay

屏幕上显示字符与字符之间的距离。单位:像素点。
在这里插入图片描述

  • isbr
    其表示在显示文本内容,一行显示不完所有字符时,是否自动换行到下一行继续显示。

在这里插入图片描述

  • txt_maxl

其表示该字符型控件,最多可以存储多少个字符。

注意1:在界面编辑时,如果输入txt属性中的字符数量超过了txt_maxl将提示错误。
注意2:如果在运行中,给txt写入超过txt_maxl的字符数量,超出的部分将丢失。

  • sta

背景填充方式属性。目前支持4种背景方式:
1、切图:从指定与串口屏分辨率相同的全屏图片上,自动切取控件窗口区域的图片内容作为控件背景。
2、单色:用户指定单一的RGB565颜色值作为控件背景。
3,图片:用户指定一张图片作为控件的背景。
4,透明:即无背景,以透明的方式直接在控件区域写字符信息。仅X系列支持

  • key
    控件绑定系统内置键盘。仅当vscope=全局时可以选择键盘。
2.3.1.1 读写属性参数

如放置一个t0文本控件,依据以上控件的属性,读取或写入对应的参数。将以下代码写入到该文本对应事件内。

注:

  1. objname属性不可以读取。
  2. type和id属性由开发环境指定,用户不可修改。
sys0=t0.id        // 将文本控件t0的id号赋值给sys0变量
t0.x+=10             // 将控件在屏幕上的位置向右移动10个像素点。
prints t0.txt,0       // 将t0的文本内容从串口发送出去。

在这里插入图片描述

### USARTHMI与单片机之间通信的实现 USART(通用同步/异步收发传输器)是一种用于串行通信的标准接口,在嵌入式系统中广泛应用于微控制器与其他设备间的通信。对于USARTHMI与单片机之间的通信,通常涉及硬件连接以及软件编程两方面的工作。 #### 硬件连接 为了使USART能够正常工作,需确保TXD(发送端)和RXD(接收端)线正确连接于两个通信节点间。具体来说,就是将一个设备上的TXD接到另一个设备的RXD上,并且共地[^1]。 #### 软件配置 在代码层面,初始化USART模块至关重要。这包括设置波特率、字符长度、停止位等参数来匹配双方的要求。下面给出一段基于STM32 HAL库的C语言示例代码展示如何配置并启动USART外设: ```c #include "stm32f1xx_hal.h" UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void){ huart1.Instance = USART1; huart1.Init.BaudRate = 9600; // 设置波特率为9600bps huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK){ Error_Handler(); } } ``` 此函数`MX_USART1_UART_Init()`完成了USART1的相关初始化操作,其中包含了对波特率(`BaudRate`)、字长(`WordLength`)、校验方式(`Parity`)等一系列属性的具体设定。当调用该函数后,便可以利用标准API来进行数据交换了,比如通过`HAL_UART_Transmit()`发送信息或者借助`HAL_UART_Receive_IT()`开启中断模式下的接收过程。 #### 数据交互流程 实际应用过程中,往往还需要编写专门的应用层协议处理逻辑,即所谓的“握手”机制,用来规定消息格式、命令集等内容。这部分可以根据项目需求自定义开发,也可以选用现有的成熟方案如Modbus RTU等工业标准通讯规约。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Truffle7电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值