指示灯控件
指示灯控件使用说明一、简介这是一个基于单片机 + RA8889/RA6809图形处理芯片的指示灯的控件库,用于在TFT显示屏上显示各种状态的指示灯。该控件支持多种状态显示,包括正常、警告、错误和停止等状态,并支持自定义标签显示。
二、功能特点
[*]支持多种状态显示(正常、警告、错误、停止),也可以自定义
[*]可自定义指示灯大小
[*]支持标签显示
[*]支持动态状态切换
[*]支持创建多个指示灯
三、硬件环境要求
[*]MCU: 51/ARM等不限(测试平台使用:STC8H8K64U)
[*]图形处理芯片(Micro GPU): RA8889/RA6809
[*]显示屏: TFT液晶屏(演示采用:1024x600)
四、文件结构指示灯控件
│
├── main.c# 示例应用程序
├── widget/
│ ├── indicator_light.c # 指示灯控件实现
│ └── indicator_light.h # 指示灯控件头文件
└── RA8889_01_Kernel/
├── RA8889_51.c # RA8889底层驱动
├── RA8889_51.h
├── RA8889_API_51.c# RA8889 API实现
├── RA8889_API_51.h
└── UserDef.h # 用户定义配置
五、使用方法
1. 初始化在使用指示灯控件之前,需要先进行初始化:
Indicator_Init();
2. 添加指示灯使用Indicator_Add函数添加指示灯,参数说明:
[*]x: 指示灯X坐标
[*]y: 指示灯Y坐标
[*]radius: 指示灯半径
[*]status: 指示灯状态(DEVICE_STATUS_NORMAL/WARNING/ERROR/STOP)
示例:
unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);
3. 设置标签使用Indicator_Setlabel函数设置指示灯标签:
Indicator_Setlabel(led_id, "LABEL", label_color);
4. 绘制指示灯使用Indicator_Draw函数绘制指示灯:
Indicator_Draw(led_id);
5. 状态切换使用Status_Change函数切换指示灯状态:
Status_Change(led_id, status);
六、状态说明
[*]DEVICE_STATUS_NORMAL: 正常状态
[*]DEVICE_STATUS_WARNING: 警告状态
[*]DEVICE_STATUS_ERROR: 错误状态
[*]DEVICE_STATUS_STOP: 停止状态
七、示例代码// 初始化
Indicator_Init();
// 添加指示灯unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);
// 设置标签
Indicator_Setlabel(led_id, "WARNING", color16M_black);
// 绘制指示灯
Indicator_Draw(led_id);
// 状态切换
Status_Change(led_id, DEVICE_STATUS_ERROR);
八、注意事项
[*]使用前确保已正确初始化RA8889显示芯片
[*]指示灯ID从0开始计数
[*]标签文本长度建议不超过10个字符,以确保显示效果
九、源码下载
请至论坛菜单栏:组件与控件中心下载
十、视频演示
https://www.bilibili.com/video/BV1F85AzhEeY/?share_source=copy_web&vd_source=c0cd4c87f6dcc19bcebab2f4cf3c40db
页:
[1]