readme.md 11 KB

LCD、触摸与字体演示系统

一、功能模块介绍

1.1 核心主程序模块

  1. main.lua - 主程序入口,负责系统初始化和任务调度
  2. ui_main.lua - 用户界面主控模块,管理页面切换和事件分发

1.2 显示页面模块

  1. home_page.lua - 主页模块,提供应用入口和导航功能
  2. lcd_page.lua - LCD图形绘制演示模块
  3. gtfont_page.lua - GTFont矢量字体演示模块
  4. customer_font_page.lua - 自定义字体演示模块(目前仅预留相关页面,未有实际功能演示)

1.3 驱动模块

  1. lcd_drv.lua - LCD显示驱动模块,基于lcd核心库,lcd_drv和exlcd_drv二选一使用
  2. exlcd_drv.lua - LCD显示驱动模块,基于exlcd扩展库,lcd_drv和exlcd_drv二选一使用
  3. tp_drv.lua - 触摸驱动模块,基于tp核心库,tp_drv和extp_drv二选一使用
  4. extp_drv.lua - 触摸驱动模块,基于extp扩展库,tp_drv和extp_drv二选一使用
  5. gtfont_drv.lua - GTFont矢量字库驱动模块
  6. customer_font_drv.lua - 自定义外部字体驱动功能模块(开发中)
  7. hzfont_drv.lua - 合宙软件矢量字库(开发中)
    • gtfongt_drv、customer_font_drv、hzfont_drv
    • 可以都不启用
    • 可以仅启用一种
    • 可以启用任意两种
    • 可以全部启用

二、触摸消息介绍

  1. "BASE_TOUCH_EVENT" - 基础触摸事件消息,包含触摸坐标和事件类型
    • tp触摸库事件类型:tp.EVENT_DOWN(按下)、tp.EVENT_MOVE(移动)、tp.EVENT_UP(抬起)
    • extp触摸库事件类型:SINGLE_TAP(单击)、LONG_PRESS(长按)可根据UI需求打开滑动事件
    • 坐标范围:X: 0-799,Y: 0-479

三、显示效果

主页
lcd核心库页面
gtfont页面



四、演示功能概述

4.1 LCD图形绘制演示

  1. 基本图形绘制 - 展示点、线、矩形、圆形等基本图形绘制功能
  2. 图片显示 - 支持外部图片文件显示
  3. 二维码生成 - 动态生成并显示二维码
  4. 颜色示例 - 展示多种颜色显示效果

4.2 GTFont矢量字体演示

  1. 矢量字体显示 - 使用AirFONTS_1000矢量字库小板显示平滑字体
  2. 字体大小切换 - 支持10-192号字体大小动态变化
  3. 灰度模式 - 支持灰度显示模式,字体边缘更平滑
  4. 多颜色显示 - 支持多种颜色字体显示

4.3 触摸交互功能

  1. 页面导航 - 支持多页面之间的切换
  2. 按钮响应 - 触摸按钮的点击响应功能
  3. 模式切换 - 支持gtfont切换灰度/常规显示

五、演示硬件环境

5.1 硬件清单

  • Air8101 核心板 × 1
  • AirLCD_1020 触摸配件板 × 1
  • GTFont 矢量字库,使用的是 AirFONTS_1000 配件板 × 1
  • 双排40PIN的双头线 x 1
  • 母对母杜邦线 × 6,杜邦线太长的话,会出现 spi 通信不稳定的现象;
  • TYPE-C 数据线 × 1
  • Air8101 核心板和 AirLCD_1020配件板以及AirFONTS_1000 配件板的硬件接线方式为

    • Air8101 核心板通过 TYPE-C USB 口供电(核心板背面的功耗测试开关拨到 OFF 一端),此种供电方式下,vbat 引脚为 3.3V,可以直接给 AirLCD_1020配件板和AirFONTS_1000 配件板供电;
    • 为了演示方便,所以 Air8101 核心板上电后直接通过 vbat 引脚给 AirLCD_1020配件板和AirFONTS_1000 配件板提供了 3.3V 的供电;
    • 客户在设计实际项目时,一般来说,需要通过一个GPIO来控制LDO给LCD和TP供电,这样可以灵活地控制供电,可以使项目的整体功耗降到最低;
    • 核心板和配件板之间配备了双排40PIN的双头线,可以参考下表很方便地连接双方各自的40个管脚,插入或者拔出双头线时,要慢慢的操作,防止将排针折弯;

5.2 接线配置

5.2.1 LCD 显示屏接线

Air8101核心板
AirLCD_1020配件板
gnd
GND
vbat
VCC
42/R0
RGB_R0
40/R1
RGB_R1
43/R2
RGB_R2
39/R3
RGB_R3
44/R4
RGB_R4
38/R5
RGB_R5
45/R6
RGB_R6
37/R7
RGB_R7
46/G0
RGB_G0
36/G1
RGB_G1
47/G2
RGB_G2
35/G3
RGB_G3
48/G4
RGB_G4
34/G5
RGB_G5
49/G6
RGB_G6
33/G7
RGB_G7
50/B0
RGB_B0
32/B1
RGB_B1
51/B2
RGB_B2
31/B3
RGB_B3
52/B4
RGB_B4
30/B5
RGB_B5
53/B6
RGB_B6
29/B7
RGB_B7
28/DCLK
RGB_DCLK
54/DISP
RGB_DISP
55/HSYN
RGB_HSYNC
56/VSYN
RGB_VSYNC
57/DE
RGB_DE
14/GPIO8
LCD_BL
13/GPIO9
LCD_RST
8/GPIO5
LCD_SDI
9/GPIO6
LCD_SCL
68/GPIO12
LCD_CS
75/GPIO28
TP_RST
10/GPIO7
TP_INT
12/U1TX
TP_SCL
11/U1RX
TP_SDA

5.2.2 GTFont 字库接线

Air8101 核心板AirFONTS_1000配件板
66/GPIO3CS
67/GPIO4MISO
8/GPIO5MOSI
65/GPIO2CLK
vbatVCC

5.2.3 接线图

六、演示软件环境

6.1 开发工具

6.2 内核固件

七、演示核心步骤

7.1 硬件准备

  1. 按照硬件接线表连接所有设备
  2. 确保电源连接正确,通过TYPE-C USB口供电
  3. 检查所有接线无误,避免短路

7.2 软件配置

main.lua中选择加载对应的驱动模块:

-- 加载显示屏驱动管理功能模块,有以下两种:
-- 1、使用lcd核心库驱动的lcd_drv.lua
-- 2、使用exlcd扩展库驱动的exlcd_drv.lua
-- 根据自己的需求,启用两者中的任何一种都可以
-- 也可以不启用任何一种,不使用显示屏功能
lcd_drv = require "lcd_drv"
-- lcd_drv = require "exlcd_drv"


-- 加载触摸面板驱动管理功能模块,有以下两种:
-- 1、使用tp核心库驱动的tp_drv.lua
-- 2、使用extp扩展库驱动的extp_drv.lua
-- 根据自己的需求,启用两者中的任何一种都可以
-- 也可以不启用任何一种,不使用触摸面板功能
tp_drv = require "tp_drv"
-- tp_drv = require "extp_drv"


-- 加载字库驱动管理功能模块,有以下三种:
-- 1、使用gtfont核心库驱动AirFONTS_1000矢量字库配件板的gtfont_drv.lua
-- 2、使用hzfont核心库驱动内核固件中支持的软件矢量字库的hzfont_drv.lua(正在开发中,后续补充)
-- 3、使用自定义字体(正在开发中,后续补充)
-- 根据自己的需求,启用三者中的任何几种都可以
-- 也可以不启用任何一种,只使用内核固件中自带的点阵字库
require "gtfont_drv"


-- 加载输入法驱动管理功能模块(正在开发中,后续补充)


-- 加载lcd核心库实现的用户界面功能模块
-- 实现多页面切换、触摸事件分发和界面渲染功能
-- 包含主页、lcd核心库功能演示页、GTFont演示页和自定义字体演示页
require "ui_main"

7.3 软件烧录

  1. 使用Luatools烧录最新内核固件
  2. 下载本项目所有脚本文件和图片文件
  3. 将图片文件和脚本文件一起烧录到脚本分区
  4. 烧录完成后,设备自动重启后开始运行

7.4 功能测试

7.4.1 主页面操作

  1. 设备启动后显示主页面,包含三个功能按钮
  2. 查看系统功能概览信息
  3. 点击各功能按钮进入对应演示页面

7.4.2 LCD演示页面

  1. 查看基本图形绘制示例(点、线、矩形、圆形)
  2. 查看图片显示区域(显示logo图片)
  3. 查看二维码区域(合宙文档二维码)
  4. 查看颜色填充示例展示
  5. 查看位图和英文字体演示
  6. 点击"返回"按钮回到主页

7.4.3 GTFont演示页面

  1. 计时阶段,gtfont说明显示
  2. 字体大小变化阶段,查看10-192号字体动态变化
  3. 点击"灰度/常规"切换按钮,体验不同显示模式
  4. 查看多颜色字体显示效果
  5. 点击"返回"按钮回到主页

7.5 预期效果

  • 主页面:正常显示,三个功能按钮响应灵敏
  • LCD演示页面:图形绘制清晰,图片和二维码显示正常,颜色示例完整
  • GTFont演示页面:字体显示平滑,字号切换流畅,灰度模式切换正常
  • 触摸交互:所有触摸操作响应及时准确,页面切换流畅

7.6 故障排除

  1. 显示异常:检查LCD接线是否正确,确认电源供电稳定
  2. 触摸无响应:检查I2C接线,确认触摸芯片初始化成功
  3. 字体显示异常:检查SPI接线(如使用GTFont)
  4. 图片无法显示:确认图片文件已正确烧录到指定路径
  5. 系统卡顿:检查内存使用情况,适当调整刷新频率