找回密码
 立即注册
搜索
热搜: RA8889 RA8876 RA8875
查看: 12|回复: 0

指示灯控件

[复制链接]

66

主题

28

回帖

933

积分

管理员

积分
933
QQ
发表于 昨天 17:04 | 显示全部楼层 |阅读模式
指示灯控件使用说明
一、简介这是一个基于单片机 + RA8889/RA6809图形处理芯片的指示灯的控件库,用于在TFT显示屏上显示各种状态的指示灯。该控件支持多种状态显示,包括正常、警告、错误和停止等状态,并支持自定义标签显示。



二、功能特点
  • 支持多种状态显示(正常、警告、错误、停止),也可以自定义
  • 可自定义指示灯大小
  • 支持标签显示
  • 支持动态状态切换
  • 支持创建多个指示灯


三、硬件环境要求
  • MCU: 51/ARM等不限(测试平台使用:STC8H8K64U)
  • 图形处理芯片(Micro GPU): RA8889/RA6809
  • 显示屏: TFT液晶屏(演示采用:1024x600)


四、文件结构
  1. 指示灯控件

  2. ├── main.c  # 示例应用程序
  3. ├── widget/
  4. │   ├── indicator_light.c    # 指示灯控件实现
  5. │   └── indicator_light.h    # 指示灯控件头文件
  6. └── RA8889_01_Kernel/
  7.     ├── RA8889_51.c      # RA8889底层驱动
  8.     ├── RA8889_51.h
  9.     ├── RA8889_API_51.c  # RA8889 API实现
  10.     ├── RA8889_API_51.h
  11.     └── UserDef.h        # 用户定义配置
复制代码


五、使用方法
1. 初始化在使用指示灯控件之前,需要先进行初始化:
  1. Indicator_Init();
复制代码

2. 添加指示灯使用Indicator_Add函数添加指示灯,参数说明:
  • x: 指示灯X坐标
  • y: 指示灯Y坐标
  • radius: 指示灯半径
  • status: 指示灯状态(DEVICE_STATUS_NORMAL/WARNING/ERROR/STOP)
    示例:
  1. unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);
复制代码

3. 设置标签使用Indicator_Setlabel函数设置指示灯标签:
  1. Indicator_Setlabel(led_id, "LABEL", label_color);
复制代码

4. 绘制指示灯使用Indicator_Draw函数绘制指示灯:
  1. Indicator_Draw(led_id);
复制代码

5. 状态切换使用Status_Change函数切换指示灯状态:
  1. Status_Change(led_id, status);
复制代码


六、状态说明
  • DEVICE_STATUS_NORMAL: 正常状态
  • DEVICE_STATUS_WARNING: 警告状态
  • DEVICE_STATUS_ERROR: 错误状态
  • DEVICE_STATUS_STOP: 停止状态


七、示例代码
  1. // 初始化
  2. Indicator_Init();
  3. // 添加指示灯unsigned char led_id = Indicator_Add(400, 210, 60, DEVICE_STATUS_WARNING);
  4. // 设置标签
  5. Indicator_Setlabel(led_id, "WARNING", color16M_black);
  6. // 绘制指示灯
  7. Indicator_Draw(led_id);
  8. // 状态切换
  9. Status_Change(led_id, DEVICE_STATUS_ERROR);
复制代码


八、注意事项
  • 使用前确保已正确初始化RA8889显示芯片
  • 指示灯ID从0开始计数
  • 标签文本长度建议不超过10个字符,以确保显示效果


九、源码下载
请至论坛菜单栏:组件与控件中心下载


十、视频演示




本帖子中包含更多资源

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

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

本版积分规则

QQ|Archiver|手机版|小黑屋|Lcdvision Technology ( 苏ICP备10203891号 )

GMT+8, 2025-5-8 23:47 , Processed in 0.061673 second(s), 29 queries .

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