OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 135|回复: 1

请教一下原子哥和大家,正点原子HMI屏幕添加了定时器控件,如何在定时器控件解析单片机发送的数据

[复制链接]

213

主题

785

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2018-3-26
在线时间
292 小时
发表于 3 天前 | 显示全部楼层 |阅读模式
10金钱
请教一下原子哥和大家,正点原子HMI屏幕添加了定时器控件,如何在定时器控件解析单片机发送的数据,比如单片机通过串口向屏幕发送控制码,屏幕定时器控件进行接收与解析

回复

使用道具 举报

0

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
252
金钱
252
注册时间
2026-1-29
在线时间
22 小时
发表于 前天 17:43 | 显示全部楼层
要在正点原子HMI屏幕上通过定时器控件解析单片机发送的串口数据,需结合HMI的编程逻辑和定时器功能实现数据接收与解析。以下是具体实现思路及步骤:

一、硬件与通信协议准备
串口连接

确保单片机(如STM32)与HMI屏幕通过串口(如USART)连接,接线顺序为TXD→RXD、RXD→TXD,并共地。
双方需统一波特率、数据位、停止位等参数。
定义数据格式

约定单片机发送的控制码格式,例如:起始符+命令码+参数+校验位(如@AA01#表示设备1开启)。
二、HMI定时器控件配置
启用定时器

在HMI工程中添加定时器控件,设置合理周期,用于周期性扫描串口数据。
编写扫描函数

在定时器的回调函数中调用串口读取指令,持续接收数据。
三、数据解析逻辑
字符拆分与校验

根据协议拆分字符串,提取有效命令码和参数。
计算校验位并与接收值对比,确保数据完整性。
触发动作

根据解析结果调用对应函数,例如:
      

        

if cmd == "AA01":  # 解析到开灯命令
    set_widget_state("LED1", ON)

      
四、调试优化
日志输出

通过HMI屏幕打印接收到的原始数据,验证串口通信是否正常。
动态调整

根据实际响应速度调整定时器周期,避免频繁扫描导致系统卡顿。
总之,通过上述步骤,可实现HMI定时器控件对单片机串口数据的实时解析与响应。若需更复杂逻辑,可结合HMI的脚本功能扩展功能。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

如发现本坛存在违规或侵权内容, 请点击这里发送邮件举报 (或致电020-38271790)。请提供侵权说明和联系方式。我们将及时审核依法处理,感谢配合。

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2026-5-24 14:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表