# GT_HMI_Engine_arduino **Repository Path**: genitop/GT_HMI_Engine_arduino ## Basic Information - **Project Name**: GT_HMI_Engine_arduino - **Description**: GT-HMI-Engine作为arduino库+示例 - **Primary Language**: C - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2024-08-01 - **Last Updated**: 2024-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

GT-HMI-Engine arduino 库
致力于低代码开发,多功能,易用的免费嵌入式图形库
---
公司官网 | B 站教程 | Engine 使用手册 | Designer 使用手册 | 联系方式 | GT HMI微信交流群

#### 介绍         该库采用GT-HMI-Engine(v1.3.x),用做arduino库,库添加可以通过.zip库导入或者直接把整个文件夹放到库路径下。 **GT-HMI-Engine arduino库目录结构**
目录 说明
examples/ 存放库的示例程序
extras/ 一些辅助性的文件,不是库的核心组成部分
src/ 库的核心部分,GT-HMI-Engine源码文件
keywords.txt 关键字文件
library.properties 库特性说明文件
#### 示例         在examples目录下有一个简单的示例ESP32S3_TFT2_4.INO,展示了如何使用GT-HMI-Engine实现控件的显示以及控件事件的触发。 **1. 开发环境**: - IDE:VSCode + PlatformIO / Arduino IDE **2. 硬件**: - 主控设备:ESP32S3开发板; - 显示设备:2.4寸TFTLCD ST7789V 320*240 (无触摸); - 输入设备:物理按键3个,按键PREV和NEXT用于切换控件焦点,按键ENTER用于确认焦点,相当触摸的点击作用,触发事件实现界面的交互。 **3.修改以下文件配置**: - **gt_conf.h** 把GT_SCREEN_WIDTH改成320,GT_SCREEN_HEIGHT改成240。 配置截图 - **gt_port_disp.c** 首先,把头文件"esp_heap_caps.h"添加进来, 配置截图 然后,把buff_all数组使用PSRAM进行内存分配。 配置截图 最后,还需要修改platformio.ini文件,在这里指定FLASH和PSRAM的运行模式以及启动PSRAM。 配置截图 - **gt_port_indev.c** 该示例使用了3个物理按键,需要在gt_port_indev_init()里,把注册输入设备按键的类型改成GT_INDEV_TYPE_KEYPAD。 配置截图 - **gt_port_disp.c,gt_port_indev.c,gt_port_vf.c** 把这几个.c文件都改成.cpp文件,如下图所示: 配置截图 - **应用工程ESP32S3_TFT2_4.INO** 把examples/ESP32S3_TFT2_4/ESP32S3_TFT2_4.INO里的内容复制到src/main.cpp,然后把对应驱动文件也放在main.cpp所在的路径下,如下图所示: 配置截图 编译无报错,下载到开发板,示例效果如下所示: ![](extras/img/example.jpg)