迪文科技论坛

 找回密码
 立即注册
搜索
查看: 237|回复: 1

【2025.05.17获奖项目】DWIN触摸屏实现日志记录功能

[复制链接]

604

主题

175

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13725
发表于 2025-6-9 11:49:57 | 显示全部楼层 |阅读模式
【开源】DWIN触摸屏实现日志记录功能

一、方案介绍

1.应用的场景
记录实时数据、记录用户操作日志、记录故障信息等场景。



2.日志记录主要实现功能
(1)搭建软件RTC时钟或硬件RTC时钟 RX8130
(2)LOG_MAX_MSG 配置日志最大记录数,
(3)LOG_MSG_LEN 配置单条记录最大长度
(4)初始化日志结构体,配置起始地址、间隔距离、每页显示记录条数
(5)实现插入日志记录、移动到第一页,移动到下一页,移动到上一页、移动到最后一页功能
(6)当插入记录缓冲区满时,自动剔除最老的记录,并保存新记录





3.开发环境
Keil C51或 TKStudio

4.测试环境
智能屏: EKT043 开发板
DGUS T5L固件版本:V6.5        DWIN Tools 版本: 7.6.48

5.通讯配置
通讯4 中断(bps: 115200,n,8,1)烧写口,调试口,上位机口 ModBus RTU Slave





演示视频:

【迪文触摸屏实现日志记录功能】


二、源码解析

1. 地址分配说明
初始化日志函数(log.c)
void Log_Init(xLog_t *ptr,uint16_t dgus_addr,uint16_t interval,uint8_t pageSize)
初始化起始地址 0x1200,信息间隔地址0x100 每页显示5条信息
Log_Init(&logWeight,0x1200,0x100,5);




2.插入记录,随机产生重量数据,当重量在±0.20内判为合格
//依据业务需求可重新设计函数,插入重量数值到日志缓冲区
//每条记录有多个字段信息时,也通过 sprintf 函数整理为一条文本信息进行显示。
void Log_InsertInt(xLog_t *ptr,int16_t value)
{
        float tmp;
        uint8_t flag;
        uint16_t color;
        uint8_t buff[20];
        uint8_t len;
        tmp=value;
        flag=0;
        if(value>5020) flag=1;
        if(value<4980) flag=2;
        tmp/=100;      
        switch(flag)
        {
                case 0:
                        color=0x0;
                        len=sprintf(buff,"合格: %3.2f kg",tmp);
                        break;
                case 1:
                        color=0xf800;
                        len=sprintf(buff,"超重: %3.2f kg",tmp);
                        break;
                case 2:
                        color=0x001f;
                        len=sprintf(buff,"超轻: %3.2f kg",tmp);
                        break;
        }
        Log_InsertMsg(ptr,buff,color); //添加记录到日志缓冲区
}

3. 调用函数显示每页数据
















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

4

主题

20

回帖

271

积分

中级会员

Rank: 3Rank: 3

积分
271
发表于 2025-6-9 16:49:56 | 显示全部楼层
非常棒的项目,陆续花了两天时间,今天把日志程序读懂了,后续想在屏幕上实现类似串口助手打印数据功能,方便调式,感觉可以借用日志这个功能,感谢作者分享
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-8-11 23:11 , Processed in 0.037128 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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